Scrapy多个解析请求

时间:2018-03-14 13:53:46

标签: python-3.x scrapy

我对scrapy很新。有没有可能使用许多解析函数和scrapy.response它们分别类似于下面的代码?

我看到的内容 - 我只从第一次请求调用中获取数据。 我有很多数据要废弃,这就是为什么我想制作许多单独的解析器函数。

def parse(self, response):
    info_items = info.Info()
    address_items = address.Address()

    ...

    yield scrapy.Request(url, callback=self.parse_info, meta={'details': info_items})
    yield scrapy.Request(url, callback=self.parse_address, meta={'address': address_items})


def parse_info(self, response):
    data_item = response.meta['details']

    ...

    yield data_item


def parse_address(self, response):
    address_item = response.meta['address']

    ...           

    yield address_item

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确对待您,我认为您不应该使用def parse(self, response):start_urls。而是使用Sc {的start_requests()方法。

def start_requests(self):
    yield Request(url, callback=self.my_callback_func) # do as many yields as you want