@kaimak

Как обойти блокировку парсера?

В общем столкнулся с такой проблемой, что когда хочу спарсить сайт с помощью requests, то сайт блокируют парсер после второго запроса (то есть нельзя делать больше двух запросов в две минуты), в то время как через браузер блокируется после 10-11 запроса (обновлял страницу через Ctrl+F5).
Сайт: https://steamcommunity.com/profiles/76561198077051...
Запросы делаю просто через requests.get(), туда пробовал вставлять только headers с user-agent.
Вопрос в общем такой, какие еще аргументы можно вставить кроме user-agent, и кроме headers, слышал что сайты могут узнать и разрешение экрана и что то там еще, можно ли это все как то тоже симулировать. Использовать прокси не хочу, но если других вариантов не будет, то придется через прокси.
мой headers
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0'}
headers пробовал менять после каждого запроса, то же не помогает.
  • Вопрос задан
  • 606 просмотров
Решения вопроса 1
@kaimak Автор вопроса
Вопрос решил.
Да, можно сказать проблема была в кукки, но конкретно в каких?
Как оказалось, когда человек авторизовывается через Steam ему дается кукки, называется 'steamLoginSecure'
И надо делать сделающим образом:
cookie = {'steamLoginSecure': '765611981543677583%7C%7C5CB7310C056E83SG4D501FHGFJHGJ3T44BB1182C'}
url = 'https://steamcommunity.com/profiles/76561199079142...'
res = requests.get(url, cookies=cookie)
И всё готово!
Проблему решил когда хотел подгрузить графики предметов из Торговой площадки, без этого steamLoginSecure они вообще не подгружаются. Теперь всё по кайфу)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
zkrvndm
@zkrvndm
Архитектор решений
Когда вы делайте первый запрос сайт ставит вам куки. Если при дальнейших ваших запросах вы не будете возвращать ранее установленные куки, то разумеется вас будут банить как бота и будут правы.
5fbe2c8f8e57f037280472.png
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Ультимативный вариант договорится о предоставлении api вы же деньги зарабатываете, вот и поделитесь с создателями ресурса.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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