最近在看《Python3 网络爬虫开发实战》一书
在第三章urllib库的关于添加代理的方法中,按照书里的代码在pycharm中运行
代码如下:
from urllib.error import URLError
from urllib.request import ProxyHandler,build_opener
proxy_handle=ProxyHandler({
'http':'http://127.0.0.1:9743',
'https':'https://127.0.0.1:9743'
})
oper=build_opener(proxy_handle)
try:
response=oper.open('http://httpbin.org/get')
print(response.read().decode('utf8'))
except URLError as e:
print(e.reason)
结果运行报错:“[WinError 10061] 由于目标计算机积极拒绝,无法连接”
出现这种情况的原因:
因为这是你的本地9743端口上并没有创建HTTP代理服务,即没有创建代理为127.0.0.0:9743的代理服务,所以会报错!
解决办法:
在西刺找到可以使用的免费的代理服务IP就可以啦!
西刺代理:https://www.xicidaili.com/nn/
在西刺里面找到高匿的HTTP和HTTPS代理IP换掉里面的本机IP
(记得附带上提供的端口号)
from urllib.error import URLError
from urllib.request import ProxyHandler,build_opener
proxy_handle=ProxyHandler({
'http':'http://110.52.235.58:9999',
'https':'https://61.235.24.126:8123'
})
oper=build_opener(proxy_handle)
try:
response=oper.open('http://httpbin.org/get')
print(response.read().decode('utf8'))
except URLError as e:
print(e.reason)
这样就可以啦,运行结果如下:(如果运行报错,在西刺代理里面找别的代理IP换掉)