我想知道从哪里访问某个项目或者在我在解析函数中生成项目时返回的位置?请参阅下面的示例代码
from scrapy import Spider
from scrapy import Selector
import scrapy
from scrapy.item import Item,Field
class StackItem(Item):
title = Field()
url = Field()
class StackSpider(Spider):
name = "stack"
allowed_domains = ["stackoverflow.com"]
start_urls = [
"http://stackoverflow.com/questions?pagesize=50&sort=newest"
]
def parse(self, response):
questions = Selector(response).xpath('//*[@class="summary"]/h3')
for question in questions:
item = StackItem()
item['title'] = question.xpath(
'a[@class="question-hyperlink"]/text()').extract()
item['url'] = question.xpath(
'a[@class="question-hyperlink"]/@href').extract()
yield item
我很困惑这件物品归还给哪里?我以后如何访问它?任何帮助,将不胜感激。感谢
答案 0 :(得分:1)
Scrapy引擎使用Scrapy回调方法中产生的项目,该引擎将该项目转发给Item Pipelines。
因此,如果您想对项目执行进一步操作(例如数据验证,数据库持久性等),则必须创建项目管道并在Scrapy项目中对其进行配置。查看示例here并查看Scrapy架构: