Поэтому я пытаюсь получить доступ к этому сайту (https://www.nakedcph.com/) через запросы Python, но, к сожалению, он не загружается без проблем. Я знаю, что они защищены cloudflare, но когда я захожу через браузер, я не не сталкиваются с проблемами. Когда я делаю запрос GET на домашнюю страницу, он обнаруживает, что я использую запросы / бот и предлагает мне найти капчу. Что я могу сделать, чтобы избежать этого? Я знаю, что это не часто встречается " у вас должен быть включен javascript "сообщение / ошибка, поскольку у меня был доступ к этому сайту ранее, и я использую cloudcrape. Я не думаю, что это мои заголовки, так как я скопировал их прямо из браузера. Я понял, что мой домашний IP помечен ( который вызывает запрос капчи), но я попытался запустить мой скрипт на сервере и / или с прокси-серверами, и я все еще получаю ту же ошибку, поэтому я считаю, что что-то не так с моим запросом, а не с моим IP или заголовками. У кого-нибудь есть предложения? Спасибо заранее!
Я уже пробовал: использовать чистые прокси, которые в браузере получают безупречный доступ к сайту (без запроса разрешения для капчи), обновление заголовков и решение капчи.
РЕДАКТИРОВАТЬ: Я также пытался взять куки из браузера и использовать его в скрипте, но мне все равно было предложено найти код проверки.
import cfscrape
import requests
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
}
scraper = cfscrape.create_scraper() # returns a CloudflareScraper instance
s = requests.Session()
# Load proxy from file
file = open("proxies.txt", "r")
proxies = file.readlines()
file.close
line = proxies[random.randint(0, len(proxies) - 1)].strip("\n").split(":")
if len(line) == 2: #if proxy length is ==2, its an IP Auth proxy
# print("Proxy is detected as IP Auth")
line = proxies[random.randint(0, len(proxies) - 1)].strip("\n")
proxy= {
'http':line,
'https':line,
}
else:#if proxy length is anything else, its an USER:PASS
# print("Proxy is detected as USER:PASS")
proxy = {'http': 'http://' + line[2] + ":" + line[3] + "@" + line[0] + ":" + line[1] + "/",
'https': 'https://' + line[2] + ":" + line[3] + "@" + line[0] + ":" + line[1] + "/"}
test = scraper.get("https://www.nakedcph.com/", headers=headers, proxies=proxy)
time.sleep(5)
print(test.text)
Когда я печатаю (test.text), я должен видеть их индекс HTML, который больше 57 строк. Если len (test.text) == 57, это означает, что он запрашивает капчу.