|
@@ -1,6 +1,7 @@
|
|
|
## 爬虫代理IP池
|
|
## 爬虫代理IP池
|
|
|
|
|
|
|
|
> 在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的都是对应网站有效的代理IP,从而保证爬虫快速稳定的运行,当然在公司做的东西不能开源出来。不过呢,闲暇时间手痒,所以就想利用一些免费的资源搞一个简单的代理池服务。
|
|
> 在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的都是对应网站有效的代理IP,从而保证爬虫快速稳定的运行,当然在公司做的东西不能开源出来。不过呢,闲暇时间手痒,所以就想利用一些免费的资源搞一个简单的代理池服务。
|
|
|
|
|
+
|
|
|
|
|
|
|
|
### 1、问题
|
|
### 1、问题
|
|
|
|
|
|
|
@@ -23,7 +24,7 @@
|
|
|
|
|
|
|
|
### 2、代理池设计
|
|
### 2、代理池设计
|
|
|
|
|
|
|
|
-代理池由四部分组成:
|
|
|
|
|
|
|
+ 代理池由四部分组成:
|
|
|
|
|
|
|
|
* ProxyGetter:
|
|
* ProxyGetter:
|
|
|
|
|
|
|
@@ -39,6 +40,26 @@
|
|
|
|
|
|
|
|
* ProxyApi:
|
|
* ProxyApi:
|
|
|
|
|
|
|
|
- 代理池的外部接口,由于现在这么代理池功能比较简单,由Flask就能搞定。功能是给爬虫提供get/delete/refresh等接口,方便爬虫直接使用。
|
|
|
|
|
|
|
+ 代理池的外部接口,由于现在这么代理池功能比较简单,花两个小时看了下[Flask](http://flask.pocoo.org/),愉快的决定用Flask搞定。功能是给爬虫提供get/delete/refresh等接口,方便爬虫直接使用。
|
|
|
<!--#### 功能图纸-->
|
|
<!--#### 功能图纸-->
|
|
|
-<!---->
|
|
|
|
|
|
|
+<!---->
|
|
|
|
|
+
|
|
|
|
|
+### 3、代码模块
|
|
|
|
|
+
|
|
|
|
|
+ Python中高层次的数据结构,动态类型和动态绑定,使得它非常适合于快速应用开发,也适合于作为胶水语言连接已有的软件部件。用Python来搞这个代理IP池也很简单,代码分为6个模块:
|
|
|
|
|
+
|
|
|
|
|
+* Api:
|
|
|
|
|
+
|
|
|
|
|
+* DB:
|
|
|
|
|
+
|
|
|
|
|
+* Manager:
|
|
|
|
|
+
|
|
|
|
|
+* ProxyGetter:
|
|
|
|
|
+
|
|
|
|
|
+* Schedule:
|
|
|
|
|
+
|
|
|
|
|
+* Util:
|
|
|
|
|
+
|
|
|
|
|
+* 其他文件:
|
|
|
|
|
+
|
|
|
|
|
+待更新,请耐心等待。。。。
|