@SoulHunter033

Как обойти защиту от ботов на сайте?

Всех приветствую! Я новичок в програмировании на Python, и решил для начала сделать Телеграм бота, который бы отправлял новые объявления с сайта (я живу в Турции, поэтому турецкий сайт https://www.sahibinden.com). Начал изучать парсинг данных, и столкнулся с проблемой.
import requests
from bs4 import BeautifulSoup as Bs
 
url = "https://www.sahibinden.com"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 YaBrowser/21.3.3.230 Yowser/2.5 Safari/537.36'}

response = requests.get(url, headers=headers)
html = response.text
with open('test.html','w') as fl:
    fl.write(html)
print(response.status_code,'status_code')

Написал такой код чтобы проверить как сайт реагирует на подключении, и сохранил полученную html страницу в документ. Но при парсинге он получает такую страницу
<html>
    <head>
        <script type="text/javascript">
         window.location.href = "https://www.sahibinden.com/olagan-disi-kullanim?c";
        </script>
    </head>
    <body>
    </body>
</html>

У сайта какая-то защита стоит, или что, может кто помочь? При подключении перекидывает на страницу https://www.sahibinden.com/olagan-disi-kullanim?c , где он определяет что это бот. Может кто помочь с этим, друзья?
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
Виталий Наливкин
ты на верном пути, но маскиурешься слабо

начни с Постмана, без Питона добейся правильных ответов
Ответ написан
MinTnt
@MinTnt
Любитель однострочников (Версия 1.106)
Я решил зайти проверить. Защита срабатывает, из-за того что в headers отсутствуют определённые заголовки. Просто добавьте все существующие, поступово откинув все что не влияют.
Так же у вас в запросе к примеру не передаются важные куки. А так как на этом сайте без авторизации объявления недоступны, то непонятно чего именно вы добиваетесь "пустым" запросом.

Up. Ну а вообще, чтоб обойти защиту, просто добавьте в headers
'Upgrade-Insecure-Requests': '1'
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы