Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XPath:在两个相似的标记之间匹配文本_Xpath_Web Scraping_Scrapy_Lxml_Text Parsing - Fatal编程技术网

XPath:在两个相似的标记之间匹配文本

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

我试图刮一个网站与混乱的结构,我需要的文本之间的前5个连续的br标签不多也不少,正好5和以下2个连续的br标签。 看起来是这样的:

一些文本 一些文本 一些文本 所需文本 所需文本 所需文本 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,因此此问题目前无法回答。所需的输出是所需文本文本节点中的文本可能只是将其拆分并将其视为数组