来自此URL:https://www.basketball-reference.com/boxscores/202110190LAL.html,我想从这个xpath中提取文本:
//div[@id='div_four_factors']/table/tbody/tr[1]/td[1]
但是,我得到的元素是None。在Scrapy shell中,我使用以下代码:
>>> text = response.xpath("//div[@id='div_four_factors']/table/tbody/tr[1]/td[1]/text()").get()
>>> print(text)
>>> None
我尝试为要检索的元素编写正确的xpath,但没有得到任何结果。
1条答案
按热度按时间mm5n2pyu1#
这是因为那个表,而且看起来所有来自那个页面的表都是在页面加载之后用javascript加载的,所以xpath路径在你解析的响应html中并不存在。
如果你在浏览器中打开页面,右键点击并选择“打开页面源代码”或类似的选项,你可以看到这一点。或者,你可以只
print(response.text)
,但它不会格式化,将难以阅读。然而,它看起来确实像是表格的一个副本html在呈现时被注解掉了,这意味着你可以这样做: