此次更新主要对下载模块进行了优化,并增加了同步下载的API,同时对代码进行了一些重构。
一、Downloader部分更新:
升级HttpClient到4.3.1,重写了HttpClientDownloader的代码 #32。
在http请求中主动开启gzip,降低传输开销 #31。
修复0.3.2及之前版本连接池不生效的问题 #30,使用HttpClient 4.3.1新的连接池机制,实现连接复用功能。
经测试,下载速度可达到90%左右的提升。测试代码:Kr36NewsModel.java 。
二、增加同步抓取的API,对于小规模的抓取任务更方便:
三、Site(配置类)增加更多配置项:
支持Http代理: Site.setHttpProxy #22 。
支持自定义所有Http头:Site.addHeader #27 。
支持开启和关闭gzip:Site.setUseGzip(false) 。
Site.addStartUrl移到了Spider.addUrl,因为作者认为startUrl应该是Spider的属性,而不是Site的属性。
四、Spider(主逻辑)进行了一些重构:
重写了多线程逻辑,代码更加易懂了,同时修复了一些线程安全问题。
引入了Google Guava API,让代码更简洁。
增加配置Spider.setSpawnUrl(false),此选项为false时,只下载给定的url,不下载任何新发现的url。
可以给初始url中附带更多信息:Spider.addRequest #29
另外webmagic邮件组成立了,欢迎加入:https://groups.google.com/forum/#!forum/webmagic-java
项目主页:https://github.com/code4craft/webmagic
下载地址:https://github.com/code4craft/webmagic/releases
来自:开源中国社区

