Адреса проксі змінюється в журналі. Пункт призначення ніколи не з'являється в журналі доступу проксі. Перевірте, чи пропускає ваше проміжне програмне забезпечення запит до завантажувача взагалі.

У проміжному програмному забезпеченні завантажувача Scrapy повернення Request означає повторне планування цього запиту. Це не означає «продовжуйте надсилати цей об'єкт з метаданими, які я щойно змінив».

Для селектора, який вибирає лише маршрут, важлива форма така:

def process_request(self, request):
    request.meta['proxy'] = self.choose_proxy()
    return None

Цей фрагмент показує поточну форму перехоплювача; використовуйте інтерфейс проміжного програмного забезпечення, який підтримує встановлений випуск Scrapy. Селектор має повернути допустиму кінцеву точку й явно обробити недоступний пул. Публічне обходження, яке дозволяє публічних посередників, може брати HTTP-кандидатів зі списку HTTP-проксі для цього поверненого значення.

Повернення None дозволяє решті проміжного програмного забезпечення запитів і завантажувачу продовжити. Повернення іншого Request корисне, коли ви навмисно замінюєте або повторюєте роботу, але потребує причини й умови виходу.

Ротатор, який щоразу повертає той самий запит, може багаторазово запускати власний код вибору, так і не встановивши з'єднання з пунктом призначення. Збільшення тайм-аутів або відкриття додаткових портів проксі не виправить цей цикл керування.

Досліджуйте вхід у проміжне програмне забезпечення, поведінку під час повернення й першу реальну мережеву спробу як окремі події. Рядок журналу «проксі вибрано» доводить лише те, що селектор спрацював. Він не доводить, що було надіслано запит із вибраною кінцевою точкою.

Схожі статті