1. 代理池概述

1.1 什么是代理池

  • 代理池就是有代理IP组成的池子, 它可以提供多个稳定可用的代理IP

1.2 为什么要实现代理池

  1. 我们在做爬虫的时候, 最常见一种反爬手段就是 ip反爬; 也就是当同一个IP访问这个网站次数过多, 频率过高, 就会限制这个IP访问. 怎么解决这个问题呢? 就是需要经常换IP; 使用代理IP是其中一个比较常用的方案.
  2. 免费代理都是非常不稳定的, 有10%是可用就很不错了.
  3. 一些收费代理稳定性也不好, 便宜一点只有30%~50%左右是可用.
    • 注: 如果代理IP提供商, 提供接口很好, 稳定性也很高, 就无需使用代理池

1.3. 代理池开发环境

  • 平台: Mac,可以运行Window和Linux上
  • 开发语言: Python3
  • 开发工具: PyCharm
  • 使用到的主要技术:
    • requests: 发送请求, 获取页面数据
    • lxml: 使用XPATH从页面提取我们想要的数据
    • pymongo: 把提取到代理IP存储到MongoDB数据库中和从MongoDB数据库中读取代理IP,给爬虫使用.
    • Flask: 用于提供WEB服务