这个项目的目的是开发一套用于收集代理服务器地址的系统,这套系统同时能够对收集到的代理服务器进行多地验证,保证代理服务器的可用性。同时会开放一套API接口,使外部应用能够方便的获取代理服务器来使用。
因为之前选择的数据源的原因,收集到的代理服务器基本处于不可用状态。一度打击了我的兴趣。这几天在看《Java编程思想》,深深的被作者追求卓越的态度所折服,所以我决定鼓起勇气克服困难,继续把这个坑填起来。
考虑到之前在博客上更新开发日志感觉效果并不好,很多东西写了就没法改,让我觉得很难受。这次的开发日志要么用markdown放到项目里,要么放石墨里面好了,这样会方便修改。
基本目标是实现一套代理服务器的服务,并提供一套API供外界调用。这次先把那些不必要的东西砍掉,以能用起来为第一要务。
- Step1.实现快代理和西刺代理的爬虫,将数据写入MongoDB。主要目的是收集可供扫描的IP地址段。
- Step2.实现单进程的端口扫描程序,并将可用的IP地址数据写入MongoDB。
- Step3.实现一个最简单的API,使其能对外提供代理服务器的地址,不做任何附加功能
第一阶段的目标是能够收集到代理服务器地址,并且能够自动的进行验证、保存,并在合适的时间进行再次验证以保证代理服务器的可用性。并将收集、验证过程用日志记录下来供后续分析使用。
第二阶段的目标是设计一套开发的API供外部应用调用,实现权限检查、配额管理等。
第三阶段是利用Hadoop等框架对收集、验证日志进行分析,并形成分析报告。
第四阶段的话可以在系统中加入Spark等框架,实现上面问题的实时计算。虽然没什么用,但是可以体验一下实时计算的感觉
如果后面还有时间的话,第五步还可以把这个API改成收费的,提供一个前端界面控制台,然后支持微信、支付宝支付。
重新填坑中