为什么 xpath 不抓取某些 html(显示为全绿色且位于页面末尾的 html)?



我是初学者,我正在尝试抓取 hockey-reference.com 球员的曲棍球统计数据。 我正在抓取的播放器页面的一个例子是 https://www.hockey-reference.com/players/a/abdelju01.html。

此页面的最底部是全绿色显示的 html,xpath 不会抓取任何内容。

具体来说,我需要包含在第四个 tbody 标签中的文本,因为我想抓取 Corsi 和 Fenwick 的分数。但是,该 tbody 标记 html 是绿色的,并且此 xpath 代码:

list = player.xpath("//tbody[3]//tr//text()")

返回一个空列表。

此代码:player.xpath("//tbody[1]//tr//text()")从第二个 tbody 标记中准确返回我需要的内容,该标记是以正常颜色编码方式出现的 html。

这个绿色的html是怎么回事?它以某种方式被阻止了吗?有什么办法可以刮吗?

我有一个示例给你,如何通过xpath查找值。 这些是针对科西的:

'//tr[1][not(@class="bold")]/td[@data-stat="corsi_for"]'
'//tr[1][not(@class="bold")]/td[@data-stat="corsi_against"]'
'//tr[1][not(@class="bold")]/td[@data-stat="corsi_pct"]'
'//tr[1][not(@class="bold")]/td[@data-stat="corsi_rel_pct"]'

您可以将行从第一个//tr[1]更改为第二个,只需更改://tr[2]

希望,这会对你有所帮助。

最新更新