Joh*_*enn 0 html xpath web-scraping
你们知道我怎样才能获得所有img标签但是在使用xpath的id为footer的div下排除img标签?
目前要在html页面上获取所有img标签,我这样做:
imgs = tree.xpath('//img')
但我想在一个id为footer的div下排除所有img标签,所以我正在做这个:
imgs = tree.xpath('//*[not(div[@id="footer"])]//img') < - 但这不起作用
应该是这样的:
imgs = tree.xpath('//img[not(parent::div[@id="footer"])]')
Run Code Online (Sandbox Code Playgroud)
分解:
//img- 搜索所有<img>标签[] - where子句not(parent::div[@id="footer"]) - 没有(直接)父div,其属性id带有值footer如果<div>元素不是<img>其中一个父元素的直接父元素,请使用:
imgs = tree.xpath('//img[not(ancestor::div[@id="footer"])]')
Run Code Online (Sandbox Code Playgroud)