scrapy 使用css选择器抓取嵌套文本

gk7wooem  于 2022-11-23  发布在  其他
关注(0)|答案(2)|浏览(143)

下面的代码是:

<div class='article'>
<p>Lorem <strong>ipsum</strong> si ammet</p>
</div>

因此,要获取文本数据,请执行以下操作:Lorem ipsum si ammet,所以我尝试用途:

response.css('div.article >p::text ').extract()

但是我只收到lorem sie ammet

如何使用CSS选择器同时获取<p><strong>文本?

jmo0nnb3

jmo0nnb31#

一种线性溶液。

"".join(a.strip() for a in response.css("div.article *::text").extract())

div.article *表示擦除div.article中的所有内容
或者一种简单的书写方式

text = ""
for a in response.css("div.article *::text").extract()
    text += a.strip()

这两种方法是相同,

sy5wg1nm

sy5wg1nm2#

在Scrapy 2.7+中,您可以通过以下方式实现此操作

text = response.css('div.article *::text').getall()
text = [t.strip() for t in text]
text = "".join(text)

getall()方法返回列表

相关问题