Scrapy多重起始点请求套件

2024-06-28 19:58:45 发布

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

我正在使用以下代码(简化):

def parse(self, response):

    print('hello')
    for x in xrange(8): 
        print x

        random_form_page = session.query(....


        PR = Request(
            'htp://my-api',
            headers=self.headers,
            meta={'newrequest': Request(random_form_page,  headers=self.headers)},
            callback=self.parse_PR
        )
        yield PR

我想在db表中循环,获取每个scrape的起始页(random\u form\u page),然后为每个起始页生成一个请求。在我的代码中,我可以看到,虽然它循环了8次,但它只生成对第一个起始页的请求。我做错什么了?你知道吗


Tags: 代码selfformhelloforparseresponserequest
1条回答
网友
1楼 · 发布于 2024-06-28 19:58:45

您应该使用^{} method而不是parse()

def start_requests(self):
    for x in xrange(8): 
        random_form_page = session.query(....

        PR = Request(
            'htp://my-api',
            headers=self.headers,
            meta={'newrequest': Request(random_form_page,  headers=self.headers)},
            callback=self.parse_PR
        )
        yield PR

如果设置了start_urls,也应该省略它。你知道吗

相关问题 更多 >