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_Scrapy - Fatal编程技术网

使用Xpath获取包含在同一容器中的两个列表

使用Xpath获取包含在同一容器中的两个列表,xpath,scrapy,Xpath,Scrapy,在下面的代码示例中,我希望使用Scrapy内部的Xpath,首先从列表1中提取,然后从列表2中提取。某些项目可能会被链接出来,而其他项目只是列表中的项目。我需要的是两个字符串(或列表),一个用于列表1,一个用于列表2 清单1 , , , , 清单2 、小道骑术、西部骑术、冠军教练、出售的POA小马、纽瓦戈县、骑马、马术教练、密歇根州、骑术课程、马Lea 我不确定我是否正确理解您,但您可以尝试: from w3lib.html import remove_tags for list_tex

在下面的代码示例中,我希望使用Scrapy内部的Xpath,首先从列表1中提取,然后从列表2中提取。某些项目可能会被链接出来,而其他项目只是列表中的项目。我需要的是两个字符串(或列表),一个用于列表1,一个用于列表2


清单1
, , , , 
清单2
、小道骑术、西部骑术、冠军教练、出售的POA小马、纽瓦戈县、骑马、马术教练、密歇根州、骑术课程、马Lea

我不确定我是否正确理解您,但您可以尝试:

from w3lib.html import remove_tags

for list_text in ['List 1', 'List 2']:
    div_data = response.xpath('//h3[text()="{}"]/following-sibling::div[1]'.format(list_text)).get()
    if not div_data:
         continue
    print [remove_tags(i).strip() for i in div_data.split(',')]
或者,如果只需要字符串:

for list_text in ['List 1', 'List 2']:
    div_data = response.xpath('//h3[text()="{}"]/following-sibling::div[1]'.format(list_text)).get()
    if not div_data:
         continue
    print remove_tags(div_data)