【发布时间】:2019-02-28 01:13:07
【问题描述】:
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"],上面的输出是预期的结果,它给了我 2,075.74。有谁知道为什么会这样?我期望得到 81.48,这可以在 AMZN 股票的源代码中看到。
编辑:我发现了一些奇怪的东西。我在 HTML 脚本中看到的内容一直是 26。所以当我使用 [@data-reactid="66"] 时,我得到了我想要的东西。同样,118-92 = 26。这延续到其他几个案例。任何想法为什么会这样?
【问题讨论】:
-
看起来像一个错误。你可以省略这个类,只做 data-reactid ,它给出了错误的答案。您对 html 的阅读是正确的。