Ответы пользователя по тегу Защита данных
  • Каким образом защищенный сайт допускает запросы "живых" пользователей, но блокирует запросы Python Requests и аналогов и как это обойти?

    @morunas
    Столкнулся с такой же проблемой на том же сайте. При открытии через Python+requests получаю мусорную страницу размером 31 Кб вместо 700 Кб. Тоже самое через библиотеки socket+ssl и httpx.
    Открываю в браузере (можно даже fetch запросом, без JavaScript и cookie) нормально. Через Python+Selenium тоже без проблем, но для моей задачи он избыточен.
    Дело точно не в HTTP-заголовках, подставлял точно такие как в браузере (с регистром, переносами и пробелами). Нагуглил про TLS Fingerprint, JA3 отпечатки и т.п, до конца не разобрался, но думаю проверка именно на уровне TLS, решение оказалось простым - библиотека github.com/yifeikong/curl_cffi
    Пример
    from curl_cffi import requests
    session = requests.Session()
    response = session.get('https://example.com', impersonate="chrome110")
    print(f'Status Code: {response.status_code}, Content size: {len(response.text)}')
    print (response.text)
    Ответ написан
    Комментировать