gpt4 book ai didi

python - 请求无法从网页获取文本?

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:28 24 4
gpt4 key购买 nike

我正在尝试从网页获取 VIX 的值。

我正在使用的代码:

raw_page = requests.get("https://www.nseindia.com/live_market/dynaContent/live_watch/vix_home_page.htm").text
soup = BeautifulSoup(raw_page, "lxml")
vix = soup.find("span",{"id":"vixIdxData"})
print(vix.text)

这给了我:

' '

如果我看到 vix,

<span id="vixIdxData" style=" font-size: 1.8em;font-weight: bold;line-height: 20px;">/span>

在网站上,元素有文本,

<span id="vixIdxData" style=" font-size: 1.8em;font-weight: bold;line-height: 20px;">15.785/span>

15.785 值是我想要通过使用请求获得的值。

最佳答案

页面源中没有您要查找的数据。 requests.get(...) 仅获取页面源代码,而不包含通过 JavaScript 动态添加的元素。但是,您仍然可以使用 requests 模块获取它。

在开发者工具的“网络”选项卡中,您可以看到一个名为 VixDetails.json 的文件。请求正在发送到 https://www.nseindia.com/live_market/dynaContent/live_watch/VixDetails.json,该请求以 JSON 形式返回数据。

enter image description here

您可以使用 requests 模块的内置 .json() 函数来访问它。

r = requests.get('https://www.nseindia.com/live_market/dynaContent/live_watch/VixDetails.json')
data = r.json()
vix_price = data['currentVixSnapShot'][0]['CURRENT_PRICE']
print(vix_price)
# 15.7000

关于python - 请求无法从网页获取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49147739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com