Selenium Request работает медленно Chrome 79 - PullRequest
0 голосов
/ 24 января 2020

Я собрал скребок, используя селен, python3 .6 scrapinghub crawlera на Ubuntu 18.04, который хорошо работал до сих пор. Я перебираю cars.com и начал работать несколько месяцев назад. Скребок загружает изображения со скоростью от 60 до 100 машин в час. Он остается на странице в течение нескольких минут, прежде чем перейти к следующему запросу. Тем не менее, недавно я заметил, что это замедлилось и вызвано тайм-аутом драйвера веб-сайта Selen из-за того, что время загрузки страницы превышает 600 секунд. У меня есть исключение тайм-аута, которое обрабатывает тайм-аут и выводит URL-адрес, но загрузка изображений каждый раз занимает более 10 минут

raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: timeout
(Session info: chrome=79.0.3945.130)

После некоторой отладки я заметил, что соединение показывает запрос HTTPS не безопасно, что вызывает медленное соединение. Тем не менее, сайт является безопасным, и это раньше не показывалось, поэтому я не уверен, что изменилось. Я обновил chrome до версии 79, и у меня сложилось впечатление, что это является причиной проблемы.

Любая помощь будет очень ценной.

enter image description here

1 Ответ

0 голосов
/ 24 января 2020

Более подробная информация о вашем сценарии использования помогла бы нам лучше отладить вашу проблему. Однако вам необходимо позаботиться о нескольких вещах следующим образом:

  • Вы используете chromedriver = 2,41
  • Примечания к выпуску chromedriver = 2,41 четко упоминает следующее:

Поддержка Chrome v67-69

  • Предположительно, вы используете chrome = 79.0
  • Примечания к выпуску ChromeDriver v79.0 явно упоминает следующее:

Поддержка Chrome версия 79

  • Ваш Клиент Selenium версия неизвестна нам .

Таким образом, существует явное несоответствие между ChromeDriver v2.41 и Chrome Browser v79.0


Решение

Убедитесь, что:

  • Селен обновлен до текущих уровней Версия 3.141.59 .
  • ChromeDriver обновлен до текущей ChromeDriver v79.0. 3945,36 уровень.
  • Chrome обновлен до текущего Chrome Версия 79,0 уровень. (согласно примечаниям к выпуску ChromeDriver v79.0 )
  • Очистить ваше Рабочее пространство проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.

tl; dr

Однако, есть несколько других мер, которые вы можете включить, чтобы ускорить выполнение, и вы можете найти пару соответствующих подробных обсуждений в:

...