仅仅只提供代码部分,打包好的可运行程序见https://github.com/liwei128/reptile.run.git
#运行方式(两种) 1.作为maven项目导入,可直接执行main方法运行爬虫,此时文件夹bin和config放在lw_reptile目录下。
2.将代码作为Runnable JAR file导出,选择Extract required libraries inio generated JAR导出为reptile.jar文件。替换百度云目录中的reptile.jar,点击start.bat即可运行。
#涉及技术点
1.httpClient伪装浏览器下载图片。
2.phantomjs无界面浏览器实现访问动态网页,解析js等等。
3.jsoup工具解析并提取网页内容。
4.swt实现爬虫可操控界面。
5.邮件发送任务。
6.cglib实现动态代理,自定义注解运用,反射以及设计模式的使用。
7.爬虫监控信息。
8.log4j日志拦截并输出到界面,以及日志文件记录。
9.多线程高并发以及线程池定时任务实现。
10.线程安全以及高速高性能优化。
#特色功能:
1.可抓取复杂动态网页,覆盖率极高(与浏览器相当),速度比浏览器更快。
2.使用更人性化,用户可自定义抓取规则,并记住用户使用习惯。
2.支持断点续爬。
3.支持暂停以及速度调节(视网络性能酌情考虑),爬虫可控。
4.存储目录智能分类,将抓取到的图片按网页标题分为独立的文件夹保存。
5.日志记录,界面实时输出加文件记录,方便查找问题。
6.爬取进度实时监控,进度一目了然。定时发送进度报告到邮件,随时随地掌握爬虫进度。
7.防假死。自动清理假死进程。如果抓取工具假死,则重新再进行一次抓取,保证成功率。
8.防断网。断网时爬虫睡眠,网络恢复时自动唤醒。
9.防杀软误杀。核心组件被杀毒软件杀掉之后可自动恢复,不影响继续爬取。
10.占用内存及CPU较低,可长时间自动化爬取。
#联系作者Email:[email protected]