|
|
@@ -50,67 +50,3 @@ def get_proxy():
|
|
|
except ConnectionError:
|
|
|
return None
|
|
|
```
|
|
|
-
|
|
|
-## 各模块功能
|
|
|
-
|
|
|
-* getter.py
|
|
|
-
|
|
|
- > 爬虫模块
|
|
|
-
|
|
|
- * class proxypool.getter.FreeProxyGetter
|
|
|
-
|
|
|
- > 爬虫类,用于抓取代理源网站的代理,用户可复写和补充抓取规则。
|
|
|
-
|
|
|
-* schedule.py
|
|
|
-
|
|
|
- > 调度器模块
|
|
|
-
|
|
|
- * class proxypool.schedule.ValidityTester
|
|
|
-
|
|
|
- > 异步检测类,可以对给定的代理的可用性进行异步检测。
|
|
|
-
|
|
|
- * class proxypool.schedule.PoolAdder
|
|
|
-
|
|
|
- > 代理添加器,用来触发爬虫模块,对代理池内的代理进行补充,代理池代理数达到阈值时停止工作。
|
|
|
-
|
|
|
- * class proxypool.schedule.Schedule
|
|
|
-
|
|
|
- > 代理池启动类,运行RUN函数时,会创建两个进程,负责对代理池内容的增加和更新。
|
|
|
-
|
|
|
-* db.py
|
|
|
-
|
|
|
- > Redis数据库连接模块
|
|
|
-
|
|
|
- * class proxypool.db.RedisClient
|
|
|
-
|
|
|
- > 数据库操作类,维持与Redis的连接和对数据库的增删查该,
|
|
|
-
|
|
|
-* error.py
|
|
|
-
|
|
|
- > 异常模块
|
|
|
-
|
|
|
- * class proxypool.error.ResourceDepletionError
|
|
|
-
|
|
|
- > 资源枯竭异常,如果从所有抓取网站都抓不到可用的代理资源,
|
|
|
- >
|
|
|
- > 则抛出此异常。
|
|
|
-
|
|
|
- * class proxypool.error.PoolEmptyError
|
|
|
-
|
|
|
- > 代理池空异常,如果代理池长时间为空,则抛出此异常。
|
|
|
-
|
|
|
-* api.py
|
|
|
-
|
|
|
- > API模块,启动一个Web服务器,使用Flask实现,对外提供代理的获取功能。
|
|
|
-
|
|
|
-* utils.py
|
|
|
-
|
|
|
- > 工具箱
|
|
|
-
|
|
|
-* setting.py
|
|
|
-
|
|
|
- > 设置
|
|
|
-
|
|
|
-## 项目参考
|
|
|
-
|
|
|
-[https://github.com/WiseDoge/ProxyPool](https://github.com/WiseDoge/ProxyPool)
|