【问题标题】:Scrapy scraping nested text using css selectors使用 css 选择器抓取嵌套文本
【发布时间】:2018-09-06 02:02:03
【问题描述】:

我有以下html代码:

<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 选择器同时获取 &lt;p&gt;&lt;strong&gt; 文本?

【问题讨论】:

  • 在我看来不像是重复的。这个问题要求一种专门使用 CSS 选择器的方法,而另一个只提到 XPath 选择器。
  • 不,不是重复的。

标签: python css scrapy


【解决方案1】:

一个衬垫解决方案。

"".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()

两种方法都是一样的,

【讨论】:

    猜你喜欢
    • 2018-04-19
    • 2021-01-30
    • 2019-05-05
    • 2017-03-20
    • 2018-03-30
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    • 2021-06-29
    相关资源
    最近更新 更多