Проблема:
При использовании парсера Rank::Archive идут GET запросы http://web.archive.org/__wb/sparkline?url=domen.com&output=json
и часто подряд возникают ошибки:
597 Read first line error: EOF (0 KB)
Invalid code
При этом:
Прокси не заблокированы
Через браузер доступ с этих прокси к https://web.archive.org работает корректно
Ошибка возникает именно при прямых GET запросах
Предполагаемая причина:
Антибот-фильтрация / отсутствие cookies
Прошу модифицировать алгоритм парсинга Rank::Archive
Использовать предварительную браузерную инициализацию сессии в каждом потоке.
Новый алгоритм работы потока
Для каждого прокси в каждом потоке:
ЭТАП 1. Инициализация сессии
Запустить headless-браузер.
Подключиться через прокси.
Перейти на:
https://web.archive.org
Дождаться полной загрузки страницы.
Имитировать ввод домена в поисковую строку.
Дождаться загрузки результатов.
Сохранить:
Cookies
User-Agent
Дополнительные заголовки
ЭТАП 2. GET запросы (основной сбор данных)
Выполнять GET-запросы:
https://web.archive.org/__wb/sparkline?output=json&url=domen.com&collection=web
С обязательной передачей:
Cookies
User-Agent
Accept headers
Referer: https://web.archive.org
ЭТАП 3. Контроль валидности ответа
Если ответ:
пустой
0 KB
HTTP != 200
JSON пустой или содержит ошибку
Тогда:
Считаем сессию "протухшей"
Повторяем ЭТАП 1 (инициализация браузером)
Цель: Устранить ошибки 597 Read first line error / EOF при работе через прокси и увеличить скорость парсинга.
При использовании парсера Rank::Archive идут GET запросы http://web.archive.org/__wb/sparkline?url=domen.com&output=json
и часто подряд возникают ошибки:
597 Read first line error: EOF (0 KB)
Invalid code
При этом:
Прокси не заблокированы
Через браузер доступ с этих прокси к https://web.archive.org работает корректно
Ошибка возникает именно при прямых GET запросах
Предполагаемая причина:
Антибот-фильтрация / отсутствие cookies
Прошу модифицировать алгоритм парсинга Rank::Archive
Использовать предварительную браузерную инициализацию сессии в каждом потоке.
Новый алгоритм работы потока
Для каждого прокси в каждом потоке:
ЭТАП 1. Инициализация сессии
Запустить headless-браузер.
Подключиться через прокси.
Перейти на:
https://web.archive.org
Дождаться полной загрузки страницы.
Имитировать ввод домена в поисковую строку.
Дождаться загрузки результатов.
Сохранить:
Cookies
User-Agent
Дополнительные заголовки
ЭТАП 2. GET запросы (основной сбор данных)
Выполнять GET-запросы:
https://web.archive.org/__wb/sparkline?output=json&url=domen.com&collection=web
С обязательной передачей:
Cookies
User-Agent
Accept headers
Referer: https://web.archive.org
ЭТАП 3. Контроль валидности ответа
Если ответ:
пустой
0 KB
HTTP != 200
JSON пустой или содержит ошибку
Тогда:
Считаем сессию "протухшей"
Повторяем ЭТАП 1 (инициализация браузером)
Цель: Устранить ошибки 597 Read first line error / EOF при работе через прокси и увеличить скорость парсинга.
