搭建代理池的用处有许多,爬虫是使用代理池较多的一种。
尝试过搭建简单的代理池,记录一下,搭建过程。
代理池需要如下四个模块
存储模块:负责存储抓取下来的代理。保证代理可用且不重复,使用Redis来村塾
获取模块:使用简单的爬虫程序到各大免费代理网站爬取代理。代理形式都是IP+端口(使用多线程,提升抓取速度)
检测模块:获取到的代理不一定都能使用,因此需要对抓到的每个代理,针对未来将要爬取的网站进行检测,新获取的代理分数设置为10。测试过程中,如果可用,则分值设为100,不可用,分值减1。循环不断的测试,减到一定阈值后,从代理库移除,不再使用。
接口模块:需要用API来提供对外服务的借口。为了便于后续使用,简单的做法是用一个轻量级的Flask来实现一个webAPI借口。
这样一个简单的代理池就完成了。