我们为什么要设置动态ip?

我们在使用Python爬虫爬取一个网站的时候,通常会频繁访问该网站。 假设一个网站可以检测到某个IP地址在一定时间内的访问次数,如果该IP地址在一定时间内持续被访问并且访问次数远远超过正常用户的访问次数 ,则该网站将禁止该IP地址继续访问。 因此,这时候可以设置一些代理服务器来帮助您完成工作。 每次访问时间过长或者访问频率特别高的时候,可以换一个IP代理,这样就不会因为访问频繁而被禁止了,访问现象。  
 
我们在学习Python爬虫的时候,经常会遇到想要爬取的网站采用了反爬取技术,导致爬取失败。 网页信息的高强度、高效率爬取,往往给网络服务器带来巨大压力。 因此,如果同一个IP重复爬取同一个网页,极有可能被拦截。 所以下面这篇文章介绍了一个爬虫技巧,设置代理IP 
 
这里我们介绍一个代理IP,Rhino代理,只需要使用
 
配置环境
 
来安装requests  library
 
安装bs4库
 
安装lxml库
 
具体代码
 
不多说,直接上传代码
 
 
function get_ip_list(url, headers) 传入url和headers,最后返回一个IP列表。 列表的元素类似于 122.114.31.177:808 的格式。 这个列表包括国内隐藏代理IP网站首页的所有IP地址和端口 
 
函数 get_random_ip(ip_list) 传入第一个函数得到的列表,并返回一个随机代理。 这个代理可以传递给请求的get方法,这样每次运行都可以使用不同的IP访问被爬取的网站,有效避免真实IP被屏蔽的风险
 
代理格式是 一本字典:{'http':'http://122.114.31.177:808'},可以改下面的执行也封装了一个方法
 
为了抓取IP,Xspur代理的服务器做了反爬虫处理。 如果频繁抓取,服务器会主动返回503错误提示block,所以在请求的时候可以先一次保存一个文件读取这个文件,或者抓取一个ip使用几分钟,然后 再爬一次,相当于加了一个计时函数 
 
使用代理IP 
 
运行上面的代码会得到一个随机的代理,可以直接传入request的get方法 
 
动态IP模拟器