反爬机制02:使用代理ip
目的:为了尽可能使爬虫的访问更趋向于正常访问,使用上万个代理ip完成对目标网站的访问,抓取相关的数据,分散访问压力,降低同一ip对目标网站的访问频次,从而降低本地ip被封的风险。此外在正式的开发环境中,由于数据涉及到其他公司的权益,为了避免不必要的麻烦,也是会采用代理ip的方式对目标网站的数据进行抓取。
- 在使用urllib模块的request类进行数据的爬取时,代理ip的构建。
-
import urllib.request as ur #访问远程的代理ip的api接口,得到代理ip proxy_data = ur.urlopen(代理ip的api接口).read().decode('utf-8') #在proxyHander中设置代理ip proxy_open = ur.proxyHander({'http':proxyHander}) #构建request对象 request = ur.request(url) #用代理ip去访问目标页面 response = proxy_open.open(request)
- 在scrapy框架中设置代理ip
# 在middleware中的downloadmiddleware下面设置代理ip def pr