【问题标题】:Grab immediate parent tag from a given text从给定文本中获取直接父标签
【发布时间】:2017-05-14 11:19:33
【问题描述】:

我已经从网页中提取了所有非空文本,并将每段文本存储在一个列表中:

text = response.xpath('//text()[normalize-space()]').extract()

现在我想检查哪一段文本位于 H1 标记之间。给定一段文本,是否可以使用 xpath 抓取它周围的直接父标签?

我正在爬取 Scrapy 框架。

【问题讨论】:

    标签: python-3.x xpath web-scraping scrapy


    【解决方案1】:

    根据文档,您得到的是纯字符串列表,因此我假设它们不存储对从中提取的树的任何引用:

    extract()

    序列化并将匹配的节点作为 unicode 字符串列表返回。未引用的编码内容百分比。

    https://doc.scrapy.org/en/latest/topics/selectors.html#scrapy.selector.Selector.extract

    如果您只需要<h1> 包围的文本,您将不得不在您的 xpath 选择器中指定它并使用它进行查询。

    【讨论】:

      猜你喜欢
      • 2012-06-03
      • 2015-03-08
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 2012-03-02
      相关资源
      最近更新 更多