Scrapy по умолчанию является асинхронным.
Использование синтаксиса сопрограмм , представленного в Scrapy 2.0, просто позволяет упростить синтаксис при использовании Twisted Deferreds, которые не нужны в большинстве случаев использования, поскольку Scrapy делает его использование прозрачным, когда это возможно.
Единственная причина, по которой ваши пауки могут показаться синхронными, заключается в том, что вы получаете новый объект Request
только из обратного вызова предыдущего запроса. Если вы получаете несколько запросов из start_requests
или имеете несколько URL-адресов в start_urls
, они будут обрабатываться асинхронно в соответствии с вашими настройками параллелизма (по умолчанию Scrapy - 8 одновременных запросов на домен, всего 16).