Scrapy xpath 语法
Scrapy xpath syntax
如何使用 xpath 获取嵌套在以下 div 中的段落的文本,但在 Reference 之前停止?谢谢!
我在第一段尝试了 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>
这应该 return "Reference"
之前的所有 "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()
我认为 xpath 应该像
response.xpath('//div[@class='entry-content']/p[1]/text()').extract()
因为 <p>
在第一个 <div>
里面
如何使用 xpath 获取嵌套在以下 div 中的段落的文本,但在 Reference 之前停止?谢谢!
我在第一段尝试了 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>
这应该 return "Reference"
之前的所有 "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()
我认为 xpath 应该像
response.xpath('//div[@class='entry-content']/p[1]/text()').extract()
因为 <p>
在第一个 <div>
里面