首页 > 解决方案 > Xpath 查询试图从网站表中提取值

问题描述

我正在尝试循环进入 sec.report 上的公司简介列表并收集他们的“公司注册状态”,但只能返回空白结果。

例如,在https://sec.report/Ticker/adbe上,我尝试使用 Xpath 函数提取值“Delaware”。我正在使用以下代码,并使用我在 google chrome 的开发人员视图中仔细检查过的 xpath: sec = tree.xpath('//body/div[1]/div/div[3]/div[2]/table/tbody/tr[3]/text()')

有人可以告诉我我在哪里出错了吗?是因为“公司注册状态”不是一个定义的类别吗?

我还为每家公司提取了 CIK 编号,但这些值是使用非常相似的代码成功通过的,所以我不太确定我哪里出错了: sec = tree.xpath('//div[1]/div/h2[1]/text()')

标签: pythonhtmlxpathsec

解决方案


如果您使用以下内容,您的第一个会起作用,但那些是脆弱的 xpath。点击这个网站,它会教你如何编写更好的路径 - https://www.w3schools.com/xml/xpath_intro.asp

//body/div[1]/div/div[3]/div[2]/table/tbody/tr[3]/td[2]

你可以试试这些:

特拉华州:

//div[@class='panel panel-default'][1]/following::table[1]//td[text()='State of Incorporation']/following-sibling::td

CIK:

//h2[contains(text(), 'SEC')]

推荐阅读