在文档和 SO 文章中,只有关于如何使用此命名法排除 CSS 类的参考:
response.css("div[id='content']:not([class*='infobox'])")
我想然而实现是排除的节点,或甚至,多个节点,诸如<span>和<div>元件,其内部<li>元件。
让我给你举个例子。假设我正在抓取这个 HTML:
<li class="classA">
<div class="classB">
..
</div>
<span class="classC">Whatever</span>
This is the string I want to scrape
</li>
,我只对抓取文本“这是我想要抓取的字符串”感兴趣,因此我想跳过<div>和<span>节点。我尝试在scrapy shell中使用以下内容,但无济于事:
response.css(".classA:not(span|div)::text").extract()
,但我仍然得到排除的节点。
四季花海
交互式爱情
相关分类