2017-07-18 45 views
0

我正试图将所有“文本”部分合并到一个字符串中或我的scrapy输出文件中的一个项目中。下面的代码:如何在scrapy中一起加入两个元素?

<div class="sth"> 
    <h3 class="sth">The Text</h3> 
    <h4 class="sth2"> 
    <span class="sth11">The Text</span> 
    </h4> 
    <h4 class="sth3"> 
    <span class="sth11">The Text</span> 
    <span>The Text</span> 
    </h4> 
</div> 

有没有加入所有的“文本”元素都汇集成一个项目或一个字符串的好办法?

回答

0

考虑到你想要的是包装的div孩子的任何文本,你想用一个新行加入他们,你会遇到这样的scrapy分析方法中,您可以:

"\n".join(response.xpath("//div[@class='sth']/descendant::*/text()").extract()) 
+0

感谢您帮帮我。如果在页源中有多个相同类型的类,如[class =“sth”]。我如何找到我想要的特定人物。 – dlfjj

+0

它依赖于真实的情况,但是,例如,如果div,与类......你想刮的页面的第二个,你可以做// div [@ class ='sth'] [2]/.. 。 或者使用其他一些属性来更好地过滤xpath。 –

+0

如果它在同一页面中,该怎么办? – dlfjj

相关问题