Учебники

Scrapy — исключения

Нерегулярные события называются исключениями. В Scrapy исключения вызываются по таким причинам, как отсутствие конфигурации, удаление элемента из конвейера элементов и т. Д. Ниже приведен список исключений, упомянутых в Scrapy и их применении.

DropItem

Item Pipeline использует это исключение, чтобы остановить обработку элемента на любом этапе. Это можно записать как —

exception (scrapy.exceptions.DropItem)

CloseSpider

Это исключение используется для остановки паука с помощью запроса обратного вызова. Это можно записать как —

exception (scrapy.exceptions.CloseSpider)(reason = 'cancelled')

Он содержит параметр под названием причина (str), который указывает причину закрытия.

Например, следующий код показывает использование этого исключения —

def parse_page(self, response): 
   if 'Bandwidth exceeded' in response.body: 
      raise CloseSpider('bandwidth_exceeded') 

IgnoreRequest

Это исключение используется промежуточным программным обеспечением планировщика или загрузчика для игнорирования запроса. Это можно записать как —

exception (scrapy.exceptions.IgnoreRequest)

Не настроено

Это указывает на ситуацию с отсутствующей конфигурацией и должно вызываться в конструкторе компонента.

exception (scrapy.exceptions.NotConfigured)

Это исключение можно вызвать, если какой-либо из следующих компонентов отключен.

  • расширения
  • Пункт трубопроводов
  • Загрузчик промежуточного программного обеспечения
  • Промежуточное программное обеспечение паука

Не поддерживается

Это исключение возникает, когда какая-либо функция или метод не поддерживаются. Это можно записать как —