Python 从列表中的每一个元素中提取碎片

Python 从列表中的每一个元素中提取碎片,python,parsing,scrapy,Python,Parsing,Scrapy,我在scrapy中有一段代码,它创建了一个行列表: list_1 = single.xpath('//table[@class="day-table"]//tbody//tr').extract() 列表中的每个元素都有此示例模板 <img src="test"></img> <div class"class"></div> 我不知道如何在循环中一次提取一个元素,您需要使用u变量,该变量将对应与选择器匹配的下一行。假设希望将img元素的src属

我在scrapy中有一段代码,它创建了一个行列表:

list_1 = single.xpath('//table[@class="day-table"]//tbody//tr').extract()
列表中的每个元素都有此示例模板

<img src="test"></img> <div class"class"></div>

我不知道如何在循环中一次提取一个元素,您需要使用
u
变量,该变量将对应与选择器匹配的下一行。假设希望将
img
元素的
src
属性写入项字段:

for u in list1:
    item = classitem()
    item['src'] = u.xpath('.//img/@src').extract_first()
    yield item
在Scrapy的术语中,
list1
是一个实例,
u
是一个实例


还要注意的是,在“内部”XPath表达式的开头加一个点很重要,这样可以使它们在当前行的上下文中工作。

简单明了的解释!非常感谢您的明确答复。我完全没有编程背景,在运行脚本后,在我的示例中学习它是一件痛苦的事情,它给出了这个错误AttributeError:“unicode”对象没有属性“xpath”@GGA请替换
list\U 1=single.xpath('//table[@class=“day table”]//tbody//tr')。extract()
带有
list\U 1=single.xpath('//table[@class=“日表”]//tbody//tr')
for u in list1:
    item = classitem()
    item['src'] = u.xpath('.//img/@src').extract_first()
    yield item