我只是试着运行下面的代码。我没有收到错误消息,但没有数据被实际写入CSV。我查看了网站,发现了snapshot-td2-cp
和snapshot-td2
元素。当我删除writer.writerow语句并使用print语句时,我看到六个数字2字符,就是这样
import csv
import requests
from bs4 import BeautifulSoup
url_base = "https://finviz.com/quote.ashx?t="
tckr = ['SBUX','MSFT','AAPL']
url_list = [url_base + s for s in tckr]
with open('C:/Users/Excel/Desktop/today.csv', 'a', newline='') as f:
writer = csv.writer(f)
for url in url_list:
try:
fpage = requests.get(url)
fsoup = BeautifulSoup(fpage.content, 'html.parser')
# write header row
writer.writerow(map(lambda e : e.text, fsoup.find_all('td', {'class':'snapshot-td2-cp'})))
# write body row
writer.writerow(map(lambda e : e.text, fsoup.find_all('td', {'class':'snapshot-td2'})))
except:
print("{} - not found".format(url))
在SBUX示例中,我想从这个表中获取数据
几个月前我测试了这段代码,一切都很好。有人能指出我的错误吗?我没看见。谢谢
要获取数据,请在请求中指定
User-Agent
印刷品:
并保存
data.csv
(LibreOffice的屏幕截图):相关问题 更多 >
编程相关推荐