Python网络爬虫之代理池的搭建

源码地址: 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
    通过接口模块获取代理,测试代理是否可用。

执行:

  1. 启动redis
    在这里插入图片描述
  2. 执行spider:python3 run.py
    在这里插入图片描述
    检测:
    在这里插入图片描述

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

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

源码地址: GitHub

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

注:2019-06-16

根据评论里的老哥出现的问题,发现最新版的Redis,可能会出现报错,原因是方法参数的变更。

需要在 db.py 做如下两个修改:

修改1:
在这里插入图片描述
修改2:
在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值