您的位置:首页 > 理论基础 > 计算机网络

Python:爬虫使用代理防封IP:HTTP Error 403: Forbidden

2017-07-16 00:00 906 查看
在写爬虫爬取数据的时候,经常遇到如下的提示,

HTTP Error 403: Forbidden

之前已经写了一个使用多个
headers
笔记,但是这种还是只有一个IP 只不过是伪装为不同的浏览器而已,所以想做到更近一步防止被封,还是需要及时更换不同IP,下面记录一下
python
使用代理爬取的过程。PS: 爬虫尽量不要太频繁的说。。。

直接上代码吧:

proxy_list=[#这是我当时用的代理IP,请更新能用的IP
'202.106.169.142:80',
'220.181.35.109:8080',
'124.65.163.10:8080',
'117.79.131.109:8080',
'58.30.233.200:8080',
'115.182.92.87:8080',
'210.75.240.62:3128',
'211.71.20.246:3128',
'115.182.83.38:8080',
'121.69.8.234:8080',
]

#接着在你使用的到urllib2的代码中,绑定某个IP,如下:
proxy       = random.choice(proxy_list)
urlhandle   = urllib2.ProxyHandler({'http':proxy})
opener      = urllib2.build_opener(urlhandle)
urllib2.install_opener(opener)

#正常使用urllib
req         = urllib2.Request(listurl,headers=headers)
content     = urllib2.urlopen(req).read()

根据具体在爬取时光网,豆瓣的电影时,的使用经验:说明一下
- 免费的代理很不太稳定,如果大量长时间爬取,还是稍微花点小钱吧,很便宜。
- 找那些免费代理IP, 使用那些高匿的代理。推荐这个网站
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: