当我使用 scrapy 在 Python 中抓取数据时产生一个项目时,项目返回到哪里?
Where is item returned to when I yield an item while scraping data in Python using scrapy?
我想知道我从哪里访问一个项目,或者当我在解析函数中生成一个项目时,它从哪里返回?请参阅下面的示例代码
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 = ["whosebug.com"]
start_urls = [
"http://whosebug.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
我很困惑,这件物品退回了哪里?我以后如何访问它?任何帮助,将不胜感激。谢谢
Scrapy 回调方法中生成的项目由 Scrapy 引擎使用,该引擎将该项目转发给 Item Pipelines。
所以,如果你想对你的项目做进一步的操作(比如数据验证、数据库持久化等),你必须创建一个项目管道并在你的 Scrapy 项目中配置它。查看示例 here 并查看 Scrapy 架构:
我想知道我从哪里访问一个项目,或者当我在解析函数中生成一个项目时,它从哪里返回?请参阅下面的示例代码
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 = ["whosebug.com"]
start_urls = [
"http://whosebug.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
我很困惑,这件物品退回了哪里?我以后如何访问它?任何帮助,将不胜感激。谢谢
Scrapy 回调方法中生成的项目由 Scrapy 引擎使用,该引擎将该项目转发给 Item Pipelines。
所以,如果你想对你的项目做进一步的操作(比如数据验证、数据库持久化等),你必须创建一个项目管道并在你的 Scrapy 项目中配置它。查看示例 here 并查看 Scrapy 架构: