py爬虫自学入门__11(用Flask+Redis维护代理池)

一、 定义: 利用代理可以伪装自己的ip进行爬虫的请求,有的请求可能需要许多的代理ip,代理池是许多代理的队列,可以放入与删除,可能进行定期的更新和检查,保证代理的可用性和质量,Redis主要维护池和提供其队列存储,Flask实现代理池的接口,利用web形式返回代理,从而拿到代理。

二、 使用代理池的原因:

    1、 许多网站有专门的反爬虫措施,可能遇到封ip等问题;

    2、 互联网上公开了大量免费代理,利用好资源;

    3、 通过定期的检测维护同样可以得到多个可用代理。

三、 代理池的要求:

    1、 多站抓取,异步检测

         从各大免费的ip代理网站抓取其公开的免费代理,把这些代理通过异步请求的方式请求网站页面,从而筛选出可用的代理,异步可以提高检测效率

    2、 定时筛选,持续更新

        做了代理池之后,要定时从代理池中剔除不可用的代理,留下新的可用的代理,即通过定时筛选代理池,保证代理池的可用性

    3、 提供接口,易于提取

        提供web形式接口,用python请求网址,在网页中获取代理信息

四、 代理池架构

    1、 获取器:

        从各大网站平台上将代理抓取下来,即在一些免费代理平台上抓取免费代理

    2、 过滤器:

        筛选获取的代理,进行测试请求得到可用代理,添加到代理队列

    3、 定时检测器:

        随着时间变化,有的代理会不可用,所以需要进行定时检测,剔除掉不可用代理,保证代理队列可用性和持续更新

    4、 API

        需要实现接口,通过接口形式实现获取代理,请求接口获取代理端口和IP,方便提取

五、 代理池实现

 

       GitHub:python崔庆才Flask+Redis代理池+听课笔记注释 https://github.com/TJRxiaotiaowa/py-

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值