我正在尝试以编程方式获取包含在NASDAQ-100中的公司列表。我尝试过使用Beautiful Soup - bs4
来抓取Nasdaq-100-Index-Components,但是到目前为止都没有成功。
如何获取此列表(股票代码和公司名称)?
s = requests.Session()
s.headers.update(
{
"Accept-Language":"en-US,en;q=0.9",
"Accept-Encoding":"gzip, deflate, br",
"User-Agent":"Java-http-client/"
}
)
r = s.get("https://www.nasdaq.com/market-activity/quotes/nasdaq-ndx-index")
soup = BeautifulSoup(r.content, "html.parser")
res = json.loads([x for x in soup.find("script", {"type": "application/json"})][0])
这只返回一个非常有限的列表,我怀疑这种幼稚的抓取并不能真正获得所有数据。
发布于 2021-07-22 09:29:21
由于数据是动态生成的,请转到chrome开发人员模式,转到网络选项卡,通过在框中搜索来查找数据,并刷新网站,现在您可以找到内容公司将数据作为json
数据列出的链接
import requests
headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"}
res=requests.get("https://api.nasdaq.com/api/quote/list-type/nasdaq100",headers=headers)
main_data=res.json()['data']['data']['rows']
for i in range(len(main_data)):
print(main_data[i]['companyName'])
输出:
Activision Blizzard, Inc. Common Stock
Adobe Inc. Common Stock
Advanced Micro Devices, Inc. Common Stock
Align Technology, Inc. Common Stock
..
图像
https://stackoverflow.com/questions/68482251
复制相似问题