下面的代码是:
<div class='article'> <p>Lorem <strong>ipsum</strong> si ammet</p> </div>
因此,要获取文本数据,请执行以下操作:Lorem ipsum si ammet,所以我尝试用途:
Lorem ipsum si ammet
response.css('div.article >p::text ').extract()
但是我只收到lorem sie ammet。
lorem sie ammet
如何使用CSS选择器同时获取<p>和<strong>文本?
<p>
<strong>
jmo0nnb31#
一种线性溶液。
"".join(a.strip() for a in response.css("div.article *::text").extract())
div.article *表示擦除div.article中的所有内容或者一种简单的书写方式
div.article *
div.article
text = "" for a in response.css("div.article *::text").extract() text += a.strip()
这两种方法是相同,
sy5wg1nm2#
在Scrapy 2.7+中,您可以通过以下方式实现此操作
text = response.css('div.article *::text').getall() text = [t.strip() for t in text] text = "".join(text)
getall()方法返回列表
getall()
2条答案
按热度按时间jmo0nnb31#
一种线性溶液。
div.article *
表示擦除div.article
中的所有内容或者一种简单的书写方式
这两种方法是相同,
sy5wg1nm2#
在Scrapy 2.7+中,您可以通过以下方式实现此操作
getall()
方法返回列表