python爬虫怎么使用代理IP

相信很多朋友会遇到,Python爬虫程序里应该怎样来使用代理IP,默认的urlopen是无法使用代理的IP的,今天就来分享一下Python爬虫怎样使用代理IP的经验。

 

一,这里以python3为例,首先要导入urllib的request,然后调用ProxyHandler,它可以接受代理IP的参数。

from urllib import request

 

px=request.ProxyHandler()


 9.191.png

 

二、接着把IP地址以字典的形式放入其中,这个IP地址是我从短效优质代理里随便提取的一个IP。设置键为http,当然有些是https的,然后后面就是IP地址以及端口号。

st.ProxyHandler({'http':'171.11.178.189:38458'})

 

 

三、接着再用build_opener()来构建一个opener对象。

opener=request.build_opener(px)

 

 

四、然后调用构建好的opener对象里面的open方法来发生请求。实际上urlopen也是类似这样使用内部定义好的opener.open(),这里就相当于我们自己重写。

req=request.Request('网址')

 

res=opener.open(req)

 

with open('a.html','wb')as f:

 

f.write(res.read())

 

 

五、在使用代理IP的时候,IPIDEA提醒下大家可能会遇到一些错误,比如计算机积极拒绝之类的,这有可能是代理IP已经失效了,需要换个有效的代理IP来使用;也有可能遇到403或者407之类的错误,需要检查下授权的问题。


声明:本文来自网络投稿,不代表IPIDEA立场,若存在侵权、安全合规问题,请及时联系IPIDEA进行删除。

上一篇:稳定的代理IP具备的因素

下一篇:使用http可能会出现的问题