from lxml import html
import requests
page = requests.get('https://finance.yahoo.com/quote/AMZN?p=AMZN&.tsrc=fin-srch')
tree = html.fromstring(page.content)
peRatio = tree.xpath('//span[@class="Trsdu(0.3s) "] [@data-reactid="92"]/text()')
peRatio
如果我写了[@data reactid=“92”],上面的输出就是预期的结果,它给出了2075.74。有人知道为什么会这样吗?我期望得到81.48,这可以在AMZN股票的源代码中看到。你知道吗
编辑:我发现了一些奇怪的东西。。我在HTML脚本中看到的内容一直是26。所以当我使用[@data reactid=“66”]时,我得到了我想要的。同样,118-92=26。这一点也适用于其他几个案例。你知道为什么吗?你知道吗
看起来是虫子?数据ID值按升序排序,与相应范围的文本值不匹配。因此,跨域的文本值是按文档顺序打印的,而数据ID值是按顺序排序的,因此它们的匹配不正确。IE 15返回1636.40,实际上是41。你知道吗
我正在检查我的旧代码,看看是否可以修复xpath以使其正常工作。下面是我如何看待这个问题的。如果我找到一个合适的解决方案,会在我回来的几个小时内更新,如果其他人有答案,会删除这个。你知道吗
相关问题 更多 >
编程相关推荐