爬虫项目①

代理池的一个应用流程:在这里插入图片描述
在这里插入图片描述

爬虫模块:采集代理IP

·从代理IP网站上采集代理IP
·进行校验(获取代理响应速度,协议类型,匿名类型),
·把可用代理IP存储到数据库中

代理IP的校验模块:获取指定代理的响应速度,支持的协议以及匿名程度

·原因:网站上所标注的响应速度,协议类型和匿名类型是不准确的
·这里使用httpbin.org进行检测

数据库模块:实现对代理IP的增删改查操作

·这里使用MongoDB来存储代理IP

检测模块:定时的对代理池中代理进行检测,保证代理池中代理的可用性.

·从数据库读取所有的代理IP
·对代理IP进行逐一检测,珂用开启多个协程,以提高检测速度
·如果该代理不可用,就让这个代理分数-1,当代理的分数到0了,就删除该代理;如果检测到代理可用就恢复为满分.

代理IP服务接口:提供高可用的代理IP给爬虫使用

·根据协议类型和域名获取随机的高质量代理IP
·根据协议类型和域名获取多个高质量代理IP
·根据代理IP不可用域名,告诉代理池这个代理IP在该域名下不可用,下次获取这个域名的代理IP时候,就不会再获取这个代理IP了,从而保证代理IP高可用性.

代理池的其他模块

数据模型:domain.py:

·代理IP的数据模型,用于封装代理IP相关信息,比如ip,端口号,响应速度,协议类型,匿名类型,分数等.

程序启动入口:

main.py·代理池提供一个统一的启动入口

工具模块:

·日志模块:用于记录日志信息
·htp模块:用于获取随机User-Agent的请求头

配置文件:settings.py

·用于默认代理的分数,配置日志格式,文件,启动的爬虫,检验的间隔时间等。

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值