GitHub主页:
https://github.com/hfldqwe/
使用工具:
ip代理抓取: requests 后台搭建: Django+Redis
代理检测:
ip地址查询:http://ip.chinaz.com/ 这个网站提供的接口:http://ip.chinaz.com/getip.aspx
代理抓取地址:
西刺代理:http://www.xicidaili.com/nn/ + num
在后台运行ip_proxies.py这个文件,每隔十五分钟更新代理
在文件中导入或者继承ip_proxies.py中的AgentIpPool模块,有以下几个方法:
以下是可以重写修改的方法
给一个ip字典作为参数,进行分类保存
给一个页数 返回一个集合,灭每个元素是一个元组,记录着代理的信息
三个参数,返回一个布尔值 用来验证代理是否可用,同样有verify_https(self,ip,port,timeout=3)用来验证https代理是否可用
参数是一个由包含着ip信息的元组组成的集合 调用了verify_http和verify_https判断代理是否可用
用来取出代理时候进行的验证 able_ip是从redis中取出的ip,func是使用这个方法的方法,也就是在get_one中就是get_one,在get_all中就是get_all
同上
是上面所说的able_ip组成的集合
对之前的一个封装,这里也是最需要改进的地方。
缺陷很明显,以下几个地方需要改进: