Нерегулярные события называются исключениями. В 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)
Это исключение можно вызвать, если какой-либо из следующих компонентов отключен.
- расширения
- Пункт трубопроводов
- Загрузчик промежуточного программного обеспечения
- Промежуточное программное обеспечение паука
Не поддерживается
Это исключение возникает, когда какая-либо функция или метод не поддерживаются. Это можно записать как —