最近开始着手总结以前做过的工作,写过的代码。
今天总结了以前写过的代理池维护模块,首先阐述一下个人理解的代理池:
代理池
代理池就是用于应付网站的反爬虫的备用代理ip集合。 做过爬虫都知道,在抓取某些网站的时候,如果你抓取的频率太高了,你的ip就会被该网站封掉或者说屏蔽掉,接下来你就会爬取失败,所以此时你就需要使用代理来解决这个问题。因此,一个庞大而有效的代理池是每个爬虫系统都应该具备的,它将为爬虫系统的正常运行提供保障。
前言(着急可略过此段)
想想以前做爬虫也有一年多的时间,虽说感觉当时的系统有很多地方需要完善甚至需要整个重构,但是由于时间原因,也只能将就着用了。现在由于我可能又需要再使用爬虫,因此我决定好好捋一捋此前的工作与思路,总结并思考优化方法。
此次我单独将代理池模块提取出来,总结成一个小框架,便于未来的扩展和使用。当然,初次总结肯定会存在一些不足的地方,以后再慢慢改进吧。
简介
我的这个代理池工具或者说小框架非常简单,不需要数据库,也不需要安装额外的库,使用php实现,只要你系统里有php的执行环境就行。爬取的目标是免费的代理网站,因为代理网站发布代理前都会验证,因此该框架没有验证代理有效性的模块(有需要的可以自己扩展),适用于中小型爬虫系统,代理池中的代理数量可以根据需要自己扩展。当然也可以直接使用免费代理api进行扩展,看各自需求吧。
运行流程
- 抓取目标代理网站源码;