背景
前段时间,写java爬虫来爬网易云音乐的评论。不料,爬了一段时间后ip被封禁了。由此,想到了使用ip代理,但是找了很多的ip代理网站,很少有可以用的代理ip。 于是,抱着边学习的心态,Fork了一个代理ip池。
相关技术及环境
技术: SpringBoot,SpringMVC, Hibernate, MySQL, Redis , Maven, Lombok, BootStrap-table,多线程并发 环境: JDK1.8 , IDEA
开源地址
源作者开源地址:
现改进版Fork 地址
实现功能
通过ip代理池,提供高可用的代理ip,可用率达到95%以上。
- 如要返回json格式的接口 可自行开发
设计思路
模块划分
- 爬虫模块:爬取代理ip网站的代理IP信息,先通过队列再保存进数据库。
- 数据库同步模块:设置一定时间间隔同步数据库IP到redis缓存中。
- 缓存redis同步模块:设置一定时间间隔同步redis缓存到另一块redis缓存中。
- 缓存redis代理ip校验模块:设置一定时间间隔redis缓存代理ip池校验。
- 前端显示及接口控制模块:显示可用ip页面,及提供ip获取api接口。
IP来源
改进本-优化
- 可配置化
- 收费api配置化
如何使用
前提: 已经安装JDK1.8环境,MySQL数据库,Redis。 先使用maven编译成jar,proxy-pool-1.0.jar。 使用SpringBoot启动方式,启动即可。