веб-шифрование заблокированных сайтов с использованием прокси-ссылок - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь извлечь данные с веб-сайта, который заблокировал мой IP-адрес, ниже приведены два метода, которые я попробовал, что дает ошибки

method1 - я непосредственно ставлю URL прокси для анализа веб-страницы

from urllib.request import urlopen
from bs4 import BeautifulSoup
import lxml
import time 

html= urlopen('http://s-s.www.enfsolar.com.prx.proxyunblocker.org/')
soup = BeautifulSoup(html, 'lxml')
all_links= soup.find_all('a')
print (all_links)

ошибка - urllib.error.HTTPError: ошибка HTTP 403: запрещено

метод 2 - здесь я передаю IP-адреса прокси (согласно видео на YouTube)

import urllib.request
from bs4 import BeautifulSoup
import lxml
import requests

proxies= { "https":'191.252.196.160:8080',
  "https":'191.252.196.160:8080'    
 }
url ='https://www.enfsolar.com/'
r = requests.get(url, proxies=proxies)
soup = BeautifulSoup(r, 'lxml')
all_links= soup.find_all('a')
print (all_links)

ошибка - request.exceptions.ProxyError: HTTPSConnectionPool (host = 'www.enfsolar.com', port = 443): превышено максимальное количество попыток с URL: / (вызвано ProxyError ('Не удается подключиться к прокси.', NewConnectionError ( ': Не удалось установить новое соединение: [WinError 10061] Невозможно установить соединение, поскольку целевая машина активно отказывала в этом')))

Я новичок в веб-скрепинге, дайте мне знать, как использовать прокси, заранее спасибо.

1 Ответ

0 голосов
/ 25 января 2019

Используемый вами прокси выглядит как общедоступный, он ненадежен и часто не работает. Ошибка, которую вы имеете, говорит именно об этом. Вы не можете подключиться к прокси, попробуйте другой или, еще лучше, частный Вы можете получить один за доллар. Еще одно замечание: у вас есть dict с двумя одинаковыми ключами, вместо этого он должен быть таким.

{ "https":'191.252.196.160:8080',
 "http":'191.252.196.160:8080'    
 }
...