我是初学者,我正在尝试抓取 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]
希望,这会对你有所帮助。