@Cenzor

Scrapy, как перехватить исключение?

Прошу помощи, так как сам не могу сообразить в чём дело, видимо нужен взгляд со стороны.
Есть небольшой парсер на Scrapy. Пытаюсь обработать ошибку FileNotFoundError. Для теста намерено удаляю директорию, куда обращается парсер во время работы, запускаю спайдер, выбрасывается исключение сгенерированное pipeline'ом:
File "/.../pipelines.py", line 16, in process_item
    with open(path+filename, 'w') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'downloaded/www.httphttpbinbin.org.html'

Я пробую поймать исключение в методе start_requests() оборачивая в try-except запрос yield scrapy.Request(...) - не ловится. Пробую обработать его в методе errback выражением if failure.check(FileNotFoundError) - тоже не ловится.
Прошу подсказать, где и как правильно его перехватить? Спасибо.
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 2
SoreMix
@SoreMix
yellow
Файл во время работы удаляется что ли? Он же с режимом w
Ответ написан
@StarCatSTT
Исключение должна выдавать инструкция open()
Тогда:
try:
    with open(path+filename, 'w') as f:
        pass #some code
exept FileNotFoundError:
    print("Я не нашел файл")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 150 000 до 200 000 ₽
OnederX Москва
от 100 000 до 120 000 ₽
Кенарий Санкт-Петербург
от 120 000 до 250 000 ₽
22 сент. 2020, в 13:48
30000 руб./за проект
22 сент. 2020, в 13:46
30000 руб./за проект