использовать пользовательские настройки scrapy в scraper.py

Я хочу запустить файл scrapy с помощью scrapy runspider scrapy.py, у него нет файла настроек, как использовать пользовательские настройки, такие как 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-адрес


person venkatesh    schedule 20.06.2018    source источник


Ответы (1)


Вы можете установить настройки scrapy для каждого паука, установив атрибут custom_settings паука таким образом

class MySpider(Spider):

    custom_settings = {
       'CONCURRENT_REQUESTS': 1,
    }

    def start_requests(self):
        ...

Подробнее о том, как работать с настройками scrapy, можно узнать здесь: https://doc.scrapy.org/en/latest/topics/settings.html?highlight=custom_settings

person mxmn    schedule 20.06.2018
comment
он работает, но те же пользовательские настройки не работают для веб-сайта consumerraffairs.com, он запрашивает 2 URL-адреса за раз - person venkatesh; 20.06.2018
comment
Как вы заметили, что он запрашивает 2 URL-адреса одновременно? Можете ли вы дать полную конфигурацию вашего паука, которая отображается при запуске паука? - person mxmn; 20.06.2018