在scraper.py中使用scrapy自定义设置

时间:2018-06-20 04:53:46

标签: python-3.x scrapy python-requests scrapy-spider

我想使用scrapy runspider scrapy.py运行scrapy文件 它没有任何设置文件,如何使用自定义设置(例如“ CONCURRENT_REQUESTS”):1, 但是在调用start_requests的同时加载所有url请求

def start_requests(self):

    self.urls = self.mongo.get_latest_urls(config.collection)
    for url in self.urls:
        request = scrapy.Request(url["url"],callback=self.parse ,dont_filter = True,errback=self.error_function)
        request.meta['reviewId']=self.latestreview_id
        yield request
def parse(self,response):
    pass

scrapy正在维护并发请求,我只希望在处理了一个URL之后才需要加载下一个URL

1 个答案:

答案 0 :(得分:0)

您可以通过设置custom_settings蜘蛛的属性来为每个蜘蛛设置抓取设置

class MySpider(Spider):

    custom_settings = {
       'CONCURRENT_REQUESTS': 1,
    }

    def start_requests(self):
        ...

更多有关如何处理抓取设置的信息:https://doc.scrapy.org/en/latest/topics/settings.html?highlight=custom_settings