gpt4 book ai didi

python - 脚本无法从网页获取数据

转载 作者:太空宇宙 更新时间:2023-11-03 21:23:35 25 4
gpt4 key购买 nike

我正在尝试用 Python 编写一个程序,该程序可以获取股票名称及其价格并将其打印出来。但是,当我运行它时,没有打印任何内容。从网站获取数据似乎出现问题。我仔细检查了网页的路径是否正确,但由于某种原因,文本不想显示。

from lxml import html
import requests
page = requests.get('https://www.bloomberg.com/quote/UKX:IND?in_source=topQuotes')
tree = html.fromstring(page.content)
Prices = tree.xpath('//span[@class="priceText__1853e8a5"]/text()')
print ('Prices:' , Prices)

here is the website I am trying to get the data from

我尝试过BeautifulSoup,但也有同样的问题。

最佳答案

如果您打印字符串 page.content,您将看到它捕获的网站代码实际上是用于验证码测试,而不是您手动访问时看到的“真实”目标页面本身网站。该网站似乎足够聪明,可以看到您对此 URL 的请求来自脚本,而不是人工手动发出的,并且它有效地阻止了您的脚本抓取任何真实内容。因此 Prices 为空,因为在这个特殊的验证码页面上根本没有 "priceText__1853e8a5" 类的 span 标记。当我尝试使用 urllib2 进行抓取时,我得到了同样的结果。

正如其他人所建议的,Selenium(实际的网络自动化)也许能够启动该页面并为您提供所需的内容。该 ID 看起来是动态生成的,尽管我手动查看页面时确实得到了相同的 ID。另一种选择是简单地找到一个不同的网站,该网站可以为您提供所需的报价,而不会阻止您的脚本。我尝试了 https://tradingeconomics.com/ukx:ind那行得通。当然,您需要不同的 xpath 来查找所需的单元格。

关于python - 脚本无法从网页获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54027532/

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