XPath:在两个相似的标记之间匹配文本
我试图刮一个网站与混乱的结构,我需要的文本之间的前5个连续的br标签不多也不少,正好5和以下2个连续的br标签。 看起来是这样的:XPath:在两个相似的标记之间匹配文本,xpath,web-scraping,scrapy,lxml,text-parsing,Xpath,Web Scraping,Scrapy,Lxml,Text Parsing,我试图刮一个网站与混乱的结构,我需要的文本之间的前5个连续的br标签不多也不少,正好5和以下2个连续的br标签。 看起来是这样的: 一些文本 一些文本 一些文本 所需文本 所需文本 所需文本 Scrapy将标记转换为换行符,因此您只需提取整个文本并将其拆分为5个换行符: > text = sel.xpath('//text()').extract() ['\n"Some text"\n', '\n"Some text"\n', ...] > values = ''.join(te
一些文本 一些文本 一些文本 所需文本 所需文本 所需文本 Scrapy将标记转换为换行符,因此您只需提取整个文本并将其拆分为5个换行符:
> text = sel.xpath('//text()').extract()
['\n"Some text"\n', '\n"Some text"\n', ...]
> values = ''.join(text).split('\n\n\n\n\n')[1]
'\n"Required text"\n\n"Required text"\n\n"Required text"\n\n\n'
> values.strip().split('\n\n')
['"Required text"', '"Required text"', '"Required text"']
您没有指定所需的输出XML,因此此问题目前无法回答。所需的输出是所需文本文本节点中的文本可能只是将其拆分并将其视为数组