Scrapy :: Как получить запросы с исключениями на экспорт в .csv? - PullRequest
1 голос
/ 21 июня 2019

Я довольно новичок в использовании Scrapy и программирую уже около 2 лет (извините, если это глупый вопрос).

В настоящее время я пытаюсь найти общую информацию, например, есть ли на сайте ссылка «Политика конфиденциальности» или ссылка «О нас» в списке сайтов.Мне удалось собрать информацию на веб-сайтах, на которых есть URL-адреса, поддерживающие HTTPS, или прямые ссылки.

Я получаю исключения для веб-сайтов, которые не загружаются или имеют проблемы с HTTPS и HTTP:

  • twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion: Connection lost.>]

  • twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_get_record', 'wrong version number')]>]

Основываясь на многочисленных обходах паука, я обнаружил, что сайты, которые в результате .csv исключают эти ссылки.

Мне было интересно, как заставить паука включать эти ошибочные ссылки с предустановленными параметрами для каждого столбца, если это возможно.

1 Ответ

1 голос
/ 21 июня 2019

В функции Request помимо callback имеется errback (документация здесь ).

Вы можете написать функцию для обработки запросов, которые генерируют ошибки.

Итак, вы используете: yield Request(url="http://www.example.com", callback=self.mycallback, errback=self.myerrback)

И определить:

def myerrback(self, failure):
    # your processing here

Проверьте использование здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...