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

在写爬虫爬取数据的时候,经常遇到如下的提示,

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, 使用那些高匿的代理。推荐这个网站

你可能感兴趣的:(代理,python)