当我在Python中使用scrapy抓取数据时,当我生成一个item时,item返回到哪里?

2024-04-26 19:15:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道我从哪里访问一个项目,或者当我在解析函数中生成一个项目时,它从哪里返回?请参见下面的示例代码

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

我很困惑,这件东西是在哪里退回的?以后如何访问它?任何帮助都将不胜感激。谢谢


Tags: 项目fromimportfieldtitleitemselectorxpath
1条回答
网友
1楼 · 发布于 2024-04-26 19:15:36

Scrapy回调方法中生成的项由Scrapy引擎使用,后者将该项转发给Item Pipelines。你知道吗

因此,如果要对项执行进一步的操作(如数据验证、数据库持久性等),则必须创建一个项管道,并在Scrapy项目中对其进行配置。查看一个示例here并查看Scrapy架构:

Scrapy architecture

相关问题 更多 >