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