python - 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()')
解决方案
如果您使用以下内容,您的第一个会起作用,但那些是脆弱的 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')]
推荐阅读
- d3.js - 在 D3 中格式化刻度值
- wordpress - 更改 WordPress 地址
- validation - 验证用户的值长度(javascript)
- java - Spark wordcount 断言失败:不安全符号 Unstable
- javafx - 从控制器获取与控制器一起使用的 fxml 文件
- ios - 具有多个 CollectionViewLayout 的单个 CollectionView。为什么布局混乱?
- android - 将 AdView 添加到布局后构建失败
- elixir - 如何在测试文件中引用外部上下文?
- python - 没有名为 spinup.run 的模块
- rstudio - 如何在 RStudio 中换行