gpt4 book ai didi

python - 如何在Python中使用xpath访问表值

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

我正在尝试访问可以在此处找到的表值 - https://www.sec.gov/Archives/edgar/data/320193/000119312515356351/d17062d10k.htm

具体来说,我正在尝试访问 2015 年的净销售额数字(即 233,715),该数字可以在 10-K 表格的第 39 页上找到(参见图片)。

enter image description here .

这是我的代码...

from lxml import html
import requests

SEC_page = requests.get('https://www.sec.gov/Archives/edgar/data/320193/000119312515356351/d17062d10k.htm')
SEC_tree = html.fromstring(SEC_page.content)

Description = SEC_tree.xpath('//html/body/document/type/sequence/filename/description/text()')
Sales_2015 = SEC_tree.xpath('//html/body/document/type/sequence/filename/description/text/table[48]/tbody/tr[4]/td[4]/font/text()')

print Description
print Sales_2015

我们可以看到“描述”打印 - 即。 ['表格 10-K\n', '\n']

但是,“Sales_2015”返回为空 - 即。 []

我做错了什么?

最佳答案

当您使用绝对XPath时,很难调试并发现表达式中的问题。您应该避免使用绝对XPath。请注意,您引用的是table[48]! 48,Carl!您最好使用相对的XPath,因为它更灵活、可靠且冗长:

(//p[contains(., "CONSOLIDATED STATEMENTS OF OPERATIONS")]/following::td[contains(.,"Net sales")]/following-sibling::td[@align="right"]//text())[1]

在这里,我们首先找到带有文本“运营合并报表”的表格标题,然后找到下面的表格单元格“净销售额”并获取表格中的第一个数字同一行 233,715

关于python - 如何在Python中使用xpath访问表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616024/

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