如何设计并维护动态IP池?

作者:IPIDEA

2020-12-10 16:47:50

很多互联网工作者需要使用到代理ip,用后在提取代理IP后,都在本地设计一个IP池。这样既方便使用,又可以提升工作效率。那么怎么在本地设计一个代理IP池呢?IPIDEA为大家简述一下本地代理IP池的设计和日常维护。

 

代理IP获取接口,如果是普通代理IP,使用ProxyGetter接口,从代理源网站抓取新代理IP;如果是需耗费代理IP,一般都有提供获取IP的API,会有一定的允许访问公开数据,比如像ipidea平台的优质代理IP产品,每次提取5个或5的倍数,提取间隔10秒(可定制)。


 10.13.png


代理IP数据库,用于存放在动态VPS上获取到的代理IP,推荐选择SSDB。SSDB的性能很突出,与Redis基本相当了,Redis是内存型,容量问题是弱项,并且内存成本太高,SSDB针对这个弱点,使用硬盘存储,使用Google高性能的存储引擎LevelDB,适合大数据量处理并把性能优化到Redis级别。

 

代理IP检测计划,代理IP具有时效性,过了有效期就会失效,所以需要去检测有效性。设置一个定时检测计划,检测代理IP有效性,删除无效IP、高延时IP,同时预警,当IP池里的IP少于某个阈值时,通过代理IP获取接口获取新的IP。

 

代理IP池外部接口除了代理拨号服务器获取的代理IP池,还需要设计一个外部接口,通过这个接口调用IP池里的IP给爬虫使用。代理IP池功能比较简单,使用Flask就可以搞定。功能可以是给爬虫提供get/delete/refresh等接口,方便爬虫直接使用。本地代理IP池的设计是为了方便爬虫使用,并且提高效率,所以设计尽量简洁方便。


*ipidea提供的服务必须在境外网络环境下使用

热门资讯