Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 13, 2022 21:23:26

Injector
Зарегистрирован: 2019-12-06
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите обойти CloudFlare

Всем доброго дня.
Есть парсер под несколько сайтов, недавно на один из сайтов поставили защиту CloudFlare. Пытался обойти с помощью cloudscraper, но получаю ошибку: “Detected a Cloudflare version 2 challenge, This feature is not available in the opensource (free) version.” Далее попытался обойти через httpx, но снова ошибка:
“Возникло исключение: JSONDecodeError
Expecting value: line 1 column 1 (char 0)
StopIteration: 0
During handling of the above exception, another exception occurred:

File ”C:\Users\Public\Parser\Parser.py“, line 45, in <module>
ab = geturl.json()
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)”

Сам url является ссылкой на json-объект.
Можете помочь разобраться с этим? Если информации недостаточно - спрашивайте, отвечу.

Сам код:

 import json
import requests
import random
import httpx
with open('base1.json', encoding = 'UTF-8') as file:
    base_fl = json.load(file)
with open('base2.json', encoding = 'UTF-8') as file:
    base_bs = json.load(file)
url = 'https://url...'
userag = ["Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
          "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.56"]
randomusag = random.choice(userag)
headers = {'User-Agent':randomusag}
client = httpx.Client(http2=True)
geturl = client.get(url, headers=headers)
ab = geturl.json()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version