1. 什么是代理池
代理池就是有代理IP组成的池子, 它可以提供多个稳定可用的代理IP
2. 为什么要实现代理池
- 我们在做爬虫的时候, 最常见一种反爬手段就是 ip反爬; 也就是当同一个IP访问这个网站次数过多, 频率过高, 就会限制这个IP访问. 怎么解决这个问题呢? 就是需要经常换IP; 使用代理IP是其中一个比较常用的方案.
- 免费代理都是非常不稳定的, 有10%是可用就很不错了.
- 一些收费代理稳定性也不好, 便宜一点只有30%~50%左右是可用.
注: 如果代理IP提供商, 提供接口很好, 稳定性也很高, 就无需使用代理池
3. 代理池开发环境
- 平台: Mac,可以运行Window和Linux上
- 开发语言: Python3
- 开发工具: PyCharm
- 使用到的主要技术:
- requests: 发送请求, 获取页面数据
- lxml: 使用XPATH从页面提取我们想要的数据
- pymongo: 把提取到代理IP存储到MongoDB数据库中和从MongoDB数据库中读取代理IP,给爬虫使用.
- Flask: 用于提供WEB服务