如何使用 Scrapy 和 Xpah 从 div 中提取所有文本,包括来自兄弟姐妹的文本?

How to extract all text from a div including text from siblings with Scrapy and Xpah?

在使用 scrapy 2.4 从远程 URL 中提取文本时,我发现它只 return 这个 div 中的文本,而不是它的子节点中的文本。

例如

<div>
    text
    <p>text inside child</p>
    <h2>bla</h2>
    more text
</div>

这只有 return 两个数组元素 'text' 和 'more text'。

all_text = response.xpath('/div/text()').extract()

我需要提取此 div 中的整个文本,包括来自所有子节点的文本并合并到一个未格式化的字符串中。

试试这个:

/div//text()

这样您就可以将任何嵌套文本放入内部元素中。