【问题标题】:Scrapy css selector: get text of all inner tagsScrapy css选择器:获取所有内部标签的文本
【发布时间】:2017-04-20 11:36:54
【问题描述】:

我有一个标签,我想获取里面的所有文本。我正在这样做:

response.css('mytag::text')

但它只是获取当前标签的文本,我还想从所有内部标签中获取文本。

我知道我可以这样做:

response.xpath('//mytag//text()')

但我想用css 选择器来做。我怎样才能做到这一点?

【问题讨论】:

    标签: html css scrapy


    【解决方案1】:
    response.css('mytag *::text')
    

    * 将访问mytag 的所有内部标签,::text 将获取每个标签的文本

    【讨论】:

      【解决方案2】:

      获取仅选定节点的文本。

      response.css('mytag::text')
      

      获取选定节点及其子节点的文本。

      response.css('mytag ::text')
      

      查看这两个版本之间的区别。唯一的区别是空间。如果没有空格,则只返回当前节点的文本/属性。如果有空间,则选择自身和子节点的文本/属性

      response.css('h1 a::attr(href)') # only current node attribute
      
      response.css('h1 ::attr(href)') # current node and all child nodes attribute.
      

      【讨论】:

      • 你能说明你从哪里得到这个吗?它不适合我
      • 我主要在scrapy中使用它们,它们可以正常工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      • 2020-11-15
      • 1970-01-01
      • 2014-02-06
      相关资源
      最近更新 更多