Python之代理池的搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38038143/article/details/82844148

源码地址: GitHub

剖析:下载源码,配置Redis即可使用。

该代理池可分为四大模块:
  • 存储模块
  • 获取模块
  • 检测模块
  • 接口模块

最终文件结构:

在这里插入图片描述

执行文件分析:

  1. api.py
    作为接口模块,即通过web访问可以得到一个可用的代理。采用轻量级Flask库进行编写。

  2. crawler.py
    作为获取模块,通过网络爬虫从免费代理网站爬取代理,这里使用Redis存储。

  3. db.py
    作为存储模块,将爬取的代理存储到Redis。

  4. error.py
    无可用代理处理文件。

  5. getter.py
    获取模块的执行文件。

  6. importer.py
    手动导入代理文件(可忽略)。

  7. scheduler.py
    代理池的调度文件。

  8. setting.py
    存储变量文件。

  9. tester.py
    作为检测模块,检测爬取的代理是否可用。

  10. utils.py
    获取模块中,获得网页源码的执行文件,使用requests库。

  11. run.py
    代理池运行文件

  12. test.py
    通过接口模块获取代理,测试代理是否可用。

执行效果:

获取:
在这里插入图片描述
检测:
在这里插入图片描述

接口:
在这里插入图片描述

测试:
在这里插入图片描述

参考书籍:《Python3网络爬虫开发实战》

猜你喜欢

转载自blog.csdn.net/qq_38038143/article/details/82844148