Невозможно пройти через «403 — запрещенный» веб-скрипт Python — пытался изменить заголовок

#python

#python

Вопрос:

Я пытаюсь создать веб-сайт, и хотя я могу получить доступ к веб-сайту на своем компьютере с помощью Chrome, независимо от того, что я пытаюсь в python, я продолжаю получать код состояния 403 — forbidden. Я уже пытался возиться с агентом пользователя, а также с различными комбинациями сетевых заголовков в моем запросе. Но я все еще продолжаю сталкиваться с этой проблемой.

 import requests
headers={'Accept': 'text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
         'Accept-Encoding': 'gzip, deflate',
         'Accept-Language': 'en-US,en;q=0.5',
         'Referer': 'https://duckduckgo.com/',
         'TE':'trailers',
         'Upgrade-Insecure-Requests':'1',
         'USER-AGENT':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0',
         'X-Real-Ip': '[insert IP]',
         'X-Http-Proto': 'HTTP/1.1',
        'Host': 'curseforge.com'}

url = 'https://www.curseforge.com/minecraft/modpacks?page=2'
req = requests.get(url, headers=headers)

print(req.status_code)
  

Вывод: 403

Сейчас я нахожусь на том этапе, когда я просто хотел бы открыть браузер Chrome и извлечь элемент inspect из самого chrome…

Есть идеи?

Спасибо!

Комментарии:

1. попробуйте дать время для запросов перед его печатью. Что-то вроде time.sleep(random.randint(3,5))

Ответ №1:

Извините, но вам здесь не повезло. Поскольку https://www.curseforge.com защищен Cloudfare, я попытался запустить ваш скрипт с библиотекой cloudfare-scrap и без нее.

Но оба раза я получаю Completing the CAPTCHA proves you are a human and gives you temporary access to the web property. , поскольку Cloudfare и reCAPTCHA отлично справляются с предотвращением DDOS-атак и скребков, подобных вашему, их трудно обойти. Но я придумал несколько решений для взлома, хотя имейте в виду, что ни одно из них не идеально

  1. вы можете взломать Google reCAPTCHA, больше данных здесь Blackhat conference 2016,

  2. вы можете извлекать временные файлы cookie, которые reCAPTCHA выдает вам при передаче, и каждый раз вводить их в свой запрос. Но имейте в виду этот метод, так как слишком много запросов к одной и той же странице вызовет подозрения у вашего хоста, и он может отозвать ваши файлы cookie, и вам придется обновлять его снова.

  3. Наконец, вы можете попробовать альтернативный подход и использовать selenium, чтобы открыть драйвер браузера для ручного ввода reCAPTCHA.