Как обойти блокировку веб-сайтов? Python URLLib
Почему при исполнении, код, указанный ниже, выдает ошибку?
import ssl
from urllib.request import *
from urllib import *
proxy = ProxyHandler({"https": "https://101.71.40.163:3128"})
opener = build_opener(proxy)
opener.addheaders = [('User-Agent','Mozilla/5.0')]
context = ssl._create_unverified_context()
ssl._create_default_https_context = ssl._create_unverified_context
install_opener(opener)
class connection():
def scrapData():
url = "https://i.nhentai.net/galleries/1693684/1.jpg" # не обращайте внимания
destination = "lol.jpg"
return urlretrieve(url, destination)
connection.scrapData()
код выводит следующее:
urllib.error.URLError: <urlopen error [WinError 10054] Удаленный хост принудительно разорвал существующее подключение> я совершенно не понимаю, вроде юзер-агента я сменил, прокси подрубил, на другие заблокированные РКН сайты оно заходит (через прокси естественно). почему оно не хочет скачивать картинку? я уже все прокси перепробовал
так-же принимаются ответы, детально объясняющие работу с Tor Stem, (если оно поможет мне в этом) ибо я не разобрался, как с ней работать. (на том-же примере, если что-то решается таким-же птуем, это проблема сайта)
Ответы (1 шт):
я нашел ответ. нужна либа cloudscraper там и документация к ней есть
upd. сама проблема заключалась в наличии защиты от ботов и DDoS атак - CloudFlare
upd2. можно так-же использовать другую либу cfscrape
import cloudscraper
scraper = cloudscraper.create_scraper()
scraper.get(url, proxies = {"https": "https://101.71.40.163:3128"})
надеюсь кому-то помогло