小白也能做的代理池,好久没更新了,不知道你们想看什么呢!

核心提示IP代理池制作GitHub主页:https://github.com/hfldqwe/使用工具:ip代理抓取: requests后台搭建: Django+Redis代理检测:ip地址查询:http://ip.chinaz.com/这个网站提

IP代理池制作

GitHub主页:

https://github.com/hfldqwe/

使用工具:

Ip代理抓取:请求

后台建设:Django+Redis Waters:Us+Them Redis

代理检测:

Ip地址查询:http://ip.chinaz.com/

本网站提供的界面:http://ip.chinaz.com/getip.aspx

代理捕获地址:

西索恩经纪人:http://www.xicidaili.com/nn/ ޽˹+ NUM

设计理念

爬上代理ip获取以下信息:

ip地址

港口

服务器地址

类型

匿名吗?

类型

存活期

验证时间

在Redis和ip查询界面,分别对代理进行验证,如果成功,则计算到期时间并分类。

将状态、类型和到期时间分别写入Redis。

目的性利用

每15元分钟爬一次。

Ip代理自动重复数据删除

提供Python调用的接口和http接口。

确保代理的高可用性,并在每次调用时验证代理的可靠性。

用法:

在后台运行ip _ proxies.py文件,每隔15分钟更新一次代理。

有几种方法可以导入或继承文件中ip _ proxies.py中的AgentIpPool模块:

get_one

类型可以是“http”或“https”,随机返回一个可用的代理,格式为:127。0元。0元。1元:8000。

获取全部

和上面一样,只是全部退回,但是测试发现了一点问题。

以下方法可用于覆盖修改

保存_ip

给一个ip字典作为参数,分类保存。

获取ip地址

给一个页码。

返回一个集合,每个元素是一个元组,记录了代理的信息。

验证_http

三个参数,返回一个布尔值。

用来验证代理是否可用,还有verify_https用来验证https代理是否可用。

网上过滤器

参数是一组包含ip信息的元组。

调用verify_http和verify_https来确定代理是否可用。

过滤器_一

用于在取出代理时进行验证。

Able_ip是从redis中提取的ip,func是使用这个方法的方法,也就是在get _ Li ONE中表示get _ Li ONE,在get_all中表示get_all。

过滤_全部

同上

能力_知识产权

就是上面说的那套able_ip。

写池

对于之前的套餐来说,这也是最需要改进的地方。

缺陷:

缺陷是显而易见的,以下几个方面需要改进:

异步处理:这不是异步,为什么?因为我不是很熟练,后面再加,这样不用后台运行就可以直接调用了。另外,在抓取和验证的时候也不需要屏蔽。

模块之间的逻辑:不是很清楚,在逻辑方面需要改进。感觉现在写的还是太王思佳了,还是没有学会脱钩的思想。

粘贴下面的代码:

最后

看了这么多代码不想玩了?别担心,我给你录个视频。

 
友情链接
鄂ICP备19019357号-22