我想从scrappy response中删除特定元素以下是我的步骤
scrapy shell example.com
list = response.xpath(xpath) # len(list) = 220, which means there are multiple target elements exits
for selector in list:
selector.remove() # or selector.drop(), not know the difference
list = response.xpath(xpath) # len(list) = 0, which means removed successfully
而当我查找response.text时,目标元素仍然存在!!!
如何得到正确的回答
1条答案
按热度按时间gr8qqesn1#
您可以通过最初使用根XPath表达式获取HTML的根元素来获得它。
然后使用根元素的相对路径执行所需的任何
drop
操作。完成后,可以使用
root.get()
获取生成的html文本。例如,下面是一些示例html:
index.html
因此我将其命名为
scrapy shell ./index.html
正如您所看到的,示例html中没有更多的
<a>
元素。p.s.
remove
和drop
之间的区别是remove
被弃用,而drop
没有。