您好,我是Web抓取和X PATH的新手,我在ID中有以下x路径(我在scrapy(Python框架)中使用)main
,如何修改xpath以不收集“脚本”和“样式”?
my_list=response.xpath('//*[@id="main"]//text()').extract()
在网上搜索后,我发现我可以使用|
一个以上的x路径(在我的情况下特定于每个标签),但这效率不高,因为文本可以在任何标签span,li,h2中...
即我想提取id = main中的所有文本,而不是从脚本或样式标签中提取所有文本
使用该name()
函数获取节点的名称,并使用该not()
函数指定您不想包括的节点:
//*[@id='main']/descendant-or-self::*[not(name()='script') and not(name()='style')]//text()
descendant-or-self
确保直接//*[@id='main']
包含的任何文本节点也被包含在内。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句