@Bjornie
Изучаю Python

Как в Scrapy менять User-Agent вместе со сменой IP (proxy) и как обрабатываются ошибки?

Пишу парсер Амазон используя Scrapy, хочу сделать смену юзер-агента вместе со сменой прокси, чтобы все выглядело максимально естественно. Пока не разобрался как это делается. Прошу, подскажите. Должен ли я оставлять закоментированной константу USER_AGENT в settings.py?

P.S. и ещё вопрос: как обычно обрабатываются запросы, по которым не получили ответа (т.е. если сайт не работает, или нас забанили или еще какая-то причина). Я читаю список ASIN из .txt, т.е. у меня заведомо известный список адресов. Что если парсер остановится где-то на середине: как это записать и обработать?
  • Вопрос задан
  • 2240 просмотров
Решения вопроса 1
@Verz1Lka
Web scraping expert
У Амазона много специфики в парсинге.
Обычно я не меняю UA, исплоьзую только IP rotation. Однако, если хочется, можно использовать готовые middleware, например эту https://github.com/alecxe/scrapy-fake-useragent.
Если хотите вручную менять UA при создании Request, просто прописывайте UA в header.
По поводу плохих ответов, есть два варианта.
1) Амазон будет отдавать вам каптчу, можно её распозновать при помощи индусов, например anti-captcha.com или можно написать или использовать готовую OCR. (у меня есть примерно с 30% шансом распознования)
2) Амазон будет отдавать вам 503, когда ваш IP окончательно ему надоест.
По поводу сохранения прогресса с asin. Я брал список asin из MySQL и записывал данные обратно туда-же, меняя статус, если всё ок.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы