前段時間,寫java爬蟲來爬網易雲音樂的評論。不料,爬了一段時間後ip被封禁了。由此,想到了使用ip代理,可是找了不少的ip代理網站,不多有能夠用的代理ip。因而,抱着邊學習的心態,本身開發了一個代理ip池。html
技術: SpringBoot,SpringMVC, Hibernate, MySQL, Redis , Maven, Lombok, BootStrap-table,多線程併發
環境: JDK1.8 , IDEA前端
經過ip代理池,提供高可用的代理ip,可用率達到95%以上。java
{ "code":200, "data":[ { "available":true, "ip":"1.10.186.214", "lastValidateTime":"2018-09-25 20:31:52", "location":"THThailand", "port":57677, "requestTime":0, "responseTime":0, "type":"https", "useTime":3671 } ], "message":"success" }
代理ip均來自爬蟲爬取,有些國內爬取的ip大多都不能用,代理池的ip可用ip大可能是國外的ip。爬取的網站有:http://www.xicidaili.com/nn ,http://www.data5u.com/free/index.shtml ,https://free-proxy-list.net ,https://www.my-proxy.com/free-proxy-list.html ,http://spys.one/en/free-proxy-list/ , https://www.proxynova.com/proxy-server-list/ ,https://www.proxy4free.com/list/webproxy1.html ,http://www.gatherproxy.com/ 。git
前提: 已經安裝JDK1.8環境,MySQL數據庫,Redis。
先使用maven編譯成jar,proxy-pool-1.0.jar。
使用SpringBoot啓動方式,啓動便可。github
java -jar proxy-pool-1.0.jar
實際使用當ip代理池中可用ip低於3000個,可用率在95%以上;當代理池中ip數量增長到5000甚至更多,可用率會變低(由於開啓的校驗線程數不夠多)web
有什麼使用的問題歡迎回復。。。redis
本文代碼已經提交github:https://github.com/chenerzhu/proxy-pool 歡迎下載。。。數據庫