下面的代码旨在获取视频课程的标题。它找到了,但是我无法将输出写入文本文件。
from selenium import webdriver
f=("output.txt", "a")
browsing_1 = webdriver.Firefox(executable_path="C:\\Tester\\geckodriver.exe")
browsing_1.get("https://channel9.msdn.com/Niners/JeffKoch/Posts?page=170")
testing_texts = browsing_1.find_elements_by_xpath("//div[@class='seriesTitle']")
for namess in testing_texts:
print(namess.text)
当我使用此f.write(names)时,它会显示以下内容:
Traceback (most recent call last):
File "C:\Tester\trial83.py", line 11, in <module>
f.write(names)
AttributeError: 'tuple' object has no attribute 'write'
无论如何,我可以附加文件并在其中添加以下输出吗?
Link:"https://channel9.msdn.com/Niners/JeffKoch/Posts?page=170"
System Center 2012 R2 Infrastructure Provisioning and Management
Core Solutions of Exchange Server 2013
Core Solutions of Exchange Server 2013
Core Solutions of Exchange Server 2013
Core Solutions of Exchange Server 2013
Core Solutions of Exchange Server 2013
Core Solutions of Exchange Server 2013
Core Solutions of Exchange Server 2013
Windows Server 2012 R2 Storage
Windows Server 2012 R2 Storage
Windows Server 2012 R2 Storage
Windows Server 2012 R2 Storage
我用list
存储了所有已抓取数据的值,然后将该列表转换为.txt
文件。
from selenium import webdriver
browsing_1 = webdriver.Firefox(executable_path="C:\\Users\\intel\\Downloads\\Setups\\geckodriver.exe")
browsing_1.get("https://channel9.msdn.com/Niners/JeffKoch/Posts?page=170")
testing_texts = browsing_1.find_elements_by_xpath("//div[@class='seriesTitle']")
# created an empty list
lis = []
for namess in testing_texts:
print(namess.text)
lis.append(namess.text) # appending that empty list to store further values
print(lis)
with open(r'C:\Users\intel\Desktop\output.txt', 'a') as f: #remember to add a full correct path to your file just like i did.
for item in lis:
f.write("%s\n" % item)
就像我一样,只需将路径添加到output.txt
文件中即可。它对我来说非常有效。试试这个...