首页 > 解决方案 > Scrapy xpath 语法

问题描述

如何使用 xpath 获取嵌套在以下 div 中的段落文本,但在参考之前停止?谢谢!

我为第一段尝试了 SELECTOR = '//div/text() = "entry-content"/p[1]/text() ,但它没有用。

<div class="entry-content"> == 0
   <div id="dpsp-content-top">...</div>
   <span id="xxx">...</span>
   <h5>...</h5>
   <p>...</p>
   <p>...</p>
   <p>...</p>
   <h5>Reference</h5>
   <p>...</p>
   <p>...</p>
</div>

标签: web-scrapingscrapyweb-crawler

解决方案


这应该返回“参考”之前的所有“P”元素

//div[@class='entry-content']//h5/strong[contains(text(),'Reference')]/preceding-sibling::p

如果您需要来自“p”元素的文本,试试这个,

//div[@class='entry-content']//h5/strong[contains(text(),'Reference')]/preceding-sibling::p/text()

推荐阅读