XPath递归子选择

buk*_*530 5 html xpath scrapy scraper

我正在使用scrapy从网站中提取数据,但我有一个XPath选择器的问题,假设我有这个HTML代码:

<div id="_parent">
    Hi!
    <p>I am a child!</p>
    <span class="someclass">I am a <b>span</b> child!</span>
</div>
Run Code Online (Sandbox Code Playgroud)

我得到了什么:

I am a child
I am a  child!
Run Code Online (Sandbox Code Playgroud)

我应该得到什么:

Hi!
I am a child!
I am a span child!
Run Code Online (Sandbox Code Playgroud)

我正在使用的XPath如下:.// div [@id ="_ parent"] //*/text()我知道这是因为它不是#_parent div的直接子节点但是我怎么能递归地获取所有这些孩子?

小智 8

您可以使用:.//div[@id="_parent"]//text()获取所选节点的所有文本节点子节点.你可以在这里测试一下.