python - 网络抓取 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"})
解决方案
尝试对您的请求使用 User-Agent,如下所示:
user_agent = {'User Agent':'YOUR_USER_AGENT'}
r = requests.get('YOURURL', headers=user_agent)
...
推荐阅读
- java - 连接拒绝主机:10.144.16.123 - 这个 IP 来自哪里?
- c# - 我可以在 DbContext 中定义列表而不映射到表吗?
- python - 在 Python 中动态创建数组数组
- c++ - 模板参数的有效对象
- reactjs - ReactJs/NextJS - 5 秒后自动重定向到另一个页面
- python - 如何循环遍历 Python 中的列名和每一行?
- c# - 在 C# 中,如何以支持 Reload 方法的方式从现有 JSON 字符串创建 IConfigurationRoot?
- package - 在 Lumen 中是否必须从供应商那里复制配置文件?
- excel - 基于其他工作表的VBA连接列
- python-3.x - 使用图像作为根背景和文本背景