我正试图从阻止了我的IP地址的网站中提取数据,以下是我尝试的两种错误提示方法
方法1-我直接将代理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]无法建立连接,因为目标计算机主动拒绝了该连接')))
我是网络爬虫的新手,请先感谢我知道如何使用代理。
答案 0 :(得分:0)
您使用的代理看起来像是公开的代理,它们也不可靠,而且经常失效。您所犯的错误就是这样。您无法连接到代理,请尝试使用其他代理或更好的代理。一美元就能买到一个。还有一点请注意,您有一个具有两个相同键的字典,应该改为这样。
{ "https":'191.252.196.160:8080',
"http":'191.252.196.160:8080'
}