【问题标题】:Xpath query trying to pull a value from a website tableXpath 查询试图从网站表中提取值
【发布时间】:2021-08-05 01:57:18
【问题描述】:

我正在尝试循环进入 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()')

【问题讨论】:

    标签: python html xpath sec


    【解决方案1】:

    如果你使用下面的,你的第一个会起作用,但那些是脆弱的 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')]
    

    【讨论】:

    • 感谢一百万,xpath 太脆弱了。我现在已经按照你的建议更新了它们,看起来不错!
    猜你喜欢
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 2018-11-11
    • 2015-06-05
    相关资源
    最近更新 更多