scrapy list return:如何处理/提取列表的每个元素?
scrapy list return: how to process / extract each element of a list?
我想问一下如何在一个变量中处理提取的数据列表。由于 (xpath) 选择器仅提取第一个 .extract_first() 或所有内容 .extract (),我想知道如何迭代并仅提取一个元素...如 .extract()[i ] 和 i=i+1... 必须如何放置?
这看起来很明显,但此时我不明白如何利用 itemloader、管道或任何 scrapy 文档提供的方法来解决这个问题。
item ['author'] = sel.xpath('.//a[contains(@data-hook, "review-author")]/text()').extract_first()
item ['author'] = sel.xpath('.//a[contains(@data-hook, "review-author")]/text()').extract()[0]
item ['author'] = sel.xpath('.//a[contains(@data-hook, "review-author")]/text()').extract()[i] ... i=i+1???
此外,如果您能指出正确的方向,我将不胜感激!
如果您有一个列表,您可以使用 for-loop.
对其进行迭代
item ['author'] = sel.xpath('.//a[contains(@data-hook, "review-author")]/text()').extract()
// Using this for-loop construct instead of indices avoids off-by-one errors
// and the code won't run if the list is empty.
for element in item['author']:
print element
// Do whatever you want with the element.
您可以使用 for
循环遍历列表:
for author in sel.xpath('.//a[contains(@data-hook, "review-author")]/text()').extract():
item ['author'] = author
我想问一下如何在一个变量中处理提取的数据列表。由于 (xpath) 选择器仅提取第一个 .extract_first() 或所有内容 .extract (),我想知道如何迭代并仅提取一个元素...如 .extract()[i ] 和 i=i+1... 必须如何放置?
这看起来很明显,但此时我不明白如何利用 itemloader、管道或任何 scrapy 文档提供的方法来解决这个问题。
item ['author'] = sel.xpath('.//a[contains(@data-hook, "review-author")]/text()').extract_first()
item ['author'] = sel.xpath('.//a[contains(@data-hook, "review-author")]/text()').extract()[0]
item ['author'] = sel.xpath('.//a[contains(@data-hook, "review-author")]/text()').extract()[i] ... i=i+1???
此外,如果您能指出正确的方向,我将不胜感激!
如果您有一个列表,您可以使用 for-loop.
对其进行迭代item ['author'] = sel.xpath('.//a[contains(@data-hook, "review-author")]/text()').extract()
// Using this for-loop construct instead of indices avoids off-by-one errors
// and the code won't run if the list is empty.
for element in item['author']:
print element
// Do whatever you want with the element.
您可以使用 for
循环遍历列表:
for author in sel.xpath('.//a[contains(@data-hook, "review-author")]/text()').extract():
item ['author'] = author