Python 使用scrapy xpath从任何HTML格式提取文本的通用方法
我想用hasPython 使用scrapy xpath从任何HTML格式提取文本的通用方法,python,html,xpath,web-scraping,scrapy,Python,Html,Xpath,Web Scraping,Scrapy,我想用has从HTML页面提取文本 我想以完全相同的文本格式废弃这些页面,它是如何在页面上显示的。我发现了一个在线html到文本转换器,它提供了我想要的输出,但我不知道如何自己实现它。 有什么方法/帮助吗?我真的被这个问题缠住了 这是在线转换器,如果您想查看- 在表达式上尝试类似于concat(//article/div,“\n”)的方法。如果我要在xpath中添加这个函数,请解释一下这个函数好吗?没关系,尝试过它,只对第一个匹配有效。也许您可以先用一个不常见的字符替换,然后解析html。此XP
从HTML页面提取文本
我想以完全相同的文本格式废弃这些页面,它是如何在页面上显示的。我发现了一个在线html到文本转换器,它提供了我想要的输出,但我不知道如何自己实现它。
有什么方法/帮助吗?我真的被这个问题缠住了
这是在线转换器,如果您想查看-
在表达式上尝试类似于concat(//article/div,“\n”)
的方法。如果我要在xpath中添加这个函数,请解释一下这个函数好吗?没关系,尝试过它,只对第一个匹配有效。也许您可以先用一个不常见的字符替换
,然后解析html。此XPath似乎获取了article标记(//div[祖先::article,而不是(.='')]/text()|//span[祖先::article/div]/text())
。
<article>
<div> This is first Paragraph </div>
<div> This is second Paragraph
<div> This is third paragraph  
<span> 3rd para continue </span>
</div>
</div>
</article>
xxx = response.xpath("//article/div | //article/ul | //article/ol | //article/p")
content = ""
for eachLine in warningLetterlines:
tmp = eachLine.xpath('.//text()').extract()
content += "".join( i.replace(u'\xa0', u'') for i in tmp ) + "\n"
This is first paragraph
This is second paragraphThis is third paragraph3rd para continue
This is first paragraph
This is second paragraph
This is third paragraph 3rd para continue