天天看點

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

在寫爬蟲爬取資料的時候,經常遇到如下的提示,

HTTP Error : 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, 使用那些高匿的代理。推薦這個網站