Python 如何将两个元素连接在一起?
我正在尝试将所有“文本”部分合并到我的scrapy输出文件中的一个字符串或一个项目中。源代码如下:Python 如何将两个元素连接在一起?,python,html,web-scraping,scrapy,Python,Html,Web Scraping,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 c
<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>
正文
正文
正文
正文
是否有一种将所有“文本”元素合并为一个项目或一个字符串的好方法?考虑到您希望任何文本都是包装div的子项,您希望使用新行将它们合并,并且您将在一个scrapy解析方法中运行此操作,您可以:
"\n".join(response.xpath("//div[@class='sth']/descendant::*/text()").extract())
谢谢你的帮助。如果页面源中存在类似[class=“sth”]的多个相同类型的类。我怎样才能找到我要刮取的特定的一个。这取决于实际情况,但例如,如果要刮取的带有类sth的div是页面的第二个,则可以执行//div[@class='sth'][2]/。。。或者使用其他属性更好地过滤xpath。如果它在同一页中呢?我的意思是在同一页中,但该页中的第二个div与该类代码连接所有字段,即使我使用了//div[@class='sth'][2]/