Ошибка тайм-аута при использовании Scrapy на ScrapingHub - PullRequest
0 голосов
/ 13 апреля 2020

Я использую ScrapingHub Scrapy Cloud для размещения моего python Scrapy Project.

Паук работает нормально, когда я бегу локально, но на ScrapinHub - 3 специфических c веб-сайта (это 3 магазина электронной коммерции). из той же группы, используя ту же механику сайта) тайм-аут. Например:

[scrapy.downloadermiddlewares.retry] Retrying <GET https://www.submarino.com.br/produto/133739829/game-naruto-to-boruto-shinobi-striker-day-one-ps4> (failed 1 times): User timeout caused connection failure: Getting https://www.submarino.com.br/produto/133739829/game-naruto-to-boruto-shinobi-striker-day-one-ps4 took longer than 500 seconds..

У меня была похожая проблема с этими веб-сайтами, использующими Google Apps Script (UrlFetchApp) .., а также с использованием запроса / BeaultifulSoup python пакета. Внутри GAS было невозможно получить сайт, но с помощью Python запросов / BeaultifulSoup я мог найти обходной путь, используя User-Agent внутри запроса заголовков.

Теперь я использую Scrapy, и локально работает нормально , даже без User-Agents, но работающий на ScrapingHub, это дает ошибку тайм-аута. На самом деле, это очень редко, но один или два раза это работает, и ScrapingHub может удалить эти сайты. Но на 99% попыток это происходит по тайм-ауту.

Я уже пытался:

1 - Добавлен пользовательский агент и все заголовки запросов, «необходимые» этим веб-сайтам. Я даже использовал этот сайт для извлечения всех заголовков и файлов cookie, используемых в запросах cURL.

2 - Добавлены файлы cookie с помощью вкладки приложений DevTool и веб-сайта, упомянутого выше.

3 - Стерты параметры ссылок после '?'

4 - Увеличено DOWNLOAD_TIMEOUT и уменьшено CONCURRENT_REQUESTS

5 - Отключено и включено AUTOTHROTTLE

6 - Включено UserAgentMiddleware, даже после попытки изменить Настройки USER_AGENT в интерфейсе ScrapingHub.

7- Включено и отключено ROBOTSTXT_OBEY

8 - Попытка добавить cookiejar внутри request.meta

9 - Я не могу даже вспомнить все Решения 'Я пробовал, я на некоторое время застрял с этим.

Я не думаю, что я получаю IP-адрес, забаненный, потому что я ЗАПРОСИЛ МНОГО этих сайтов за пределами ScrapingHub. Как я уже говорил, между многими многочисленными попытками 3 или 4 раза я получал одну из успешно запрошенных ссылок, но она ОЧЕНЬ редка.

Веб-сайты: americanas.com.br, submarino.com.br и shoptime.com.br

Как я уже говорил, они используют ту же механику: услуги Akamai, , как сказано в этом посте.

Я все еще думаю, что это связано с заголовками и вопросы User-Agent, , как также сказано в этом посте.

Мне действительно нужна помощь, любые идеи очень полезны.

...