首页 > 解决方案 > 网络抓取 finviz 以获取有关市值的基本数据

问题描述

我正在尝试在基本表中获取 finviz(https://finviz.com/quote.ashx?t=aapl)的市值,但我终其一生都无法找到桌子或带有美味汤的班级。似乎每次我使用soup.find_all()它都适用于'div','td','table'等,但是当我尝试添加像{'class':'snapshot-这样的类时它返回一个空列表td2'}。有谁知道我可以如何解决这个问题?

import requests
from bs4 import BeautifulSoup
import bs4

def parseMarketCap():
    response = requests.get("https://finviz.com/quote.ashx?t=aapl")
    soup = bs4.BeautifulSoup(response.content, "lxml")
    table = soup.find_all('td', {'class':'snapshot-td2'})
    print(table)

我还尝试了以下表格,但也没有运气:

table = soup.find_all('table', {'class': "snapshot-table2"})

检查

基本表

标签: pythonbeautifulsoupscrape

解决方案


尝试对您的请求使用 User-Agent,如下所示:

user_agent = {'User Agent':'YOUR_USER_AGENT'}
r = requests.get('YOURURL', headers=user_agent)
...

推荐阅读