#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-атак и скребков, подобных вашему, их трудно обойти. Но я придумал несколько решений для взлома, хотя имейте в виду, что ни одно из них не идеально
-
вы можете взломать Google reCAPTCHA, больше данных здесь Blackhat conference 2016,
-
вы можете извлекать временные файлы cookie, которые reCAPTCHA выдает вам при передаче, и каждый раз вводить их в свой запрос. Но имейте в виду этот метод, так как слишком много запросов к одной и той же странице вызовет подозрения у вашего хоста, и он может отозвать ваши файлы cookie, и вам придется обновлять его снова.
-
Наконец, вы можете попробовать альтернативный подход и использовать selenium, чтобы открыть драйвер браузера для ручного ввода reCAPTCHA.