WebMagic-0.7.0
版本发布时间: 2017-05-29 14:14:34
code4craft/webmagic最新发布版本:WebMagic-1.0.1(2024-10-26 01:46:00)
此次更新重写了HttpClientDownloader,完善了POST等其他Http Method的支持,并重写了代理API,更加简单和便于扩展。
POST支持
- 新的POST API,支持各种RequestBody #513
Request request = new Request("http://xxx/path");
request.setMethod(HttpConstant.Method.POST);
request.setRequestBody(HttpRequestBody.json("{'id':1}","utf-8"));
- 移除了老的在request.extra中设置NameValuePair的方式
- POST请求不再进行去重 #484
代理支持
- 新的代理API
ProxyProvider
,支持自由扩展 - 默认实现SimpleProxyProvider是一个简单的round-robin实现,可以添加任意个数的代理。
HttpClientDownloader httpClientDownloader = new HttpClientDownloader();
SimpleProxyProvider proxyProvider = SimpleProxyProvider.from(new Proxy("127.0.0.1", 1087), new Proxy("127.0.0.1", 1088));
httpClientDownloader.setProxyProvider(proxyProvider);
- 移除了Site上关于代理配置的setProxy等,代理设置统一到HttpClientDownloader里。
新的SimpleHttpClient
- 用作简单的单次下载和解析时,使用SimpleHttpClient可以满足需求
SimpleHttpClient simpleHttpClient = new SimpleHttpClient();
GithubRepo model = simpleHttpClient.get("github.com/code4craft/webmagic",GithubRepo.class);
其他改动
- 为Page中增加状态码和Http头信息 #406
- 支持Request级别设置Http Header和Cookie
- 去掉Site.addStartRequest() , 用Spider.addStartRequest()代替 #494
- HttpClientDownloader大幅重构,将Request转换抽象到HttpUriRequestConverter(之前继承HttpClientDownloader的实现可能需要做相应修改) #524
- 将CycleRetry和statusCode的判断逻辑从Downloader中迁移到Spider中 #527
- 通过Page.isDownloadSuccess而不是Page对象本身为空来判断是否下载失败
- 为PageModel增加不发现新URL的功能 #575
- 为Site增加了disableCookieManagement属性,在不想使用cookie时使用 #577
1、 webmagic-0.7.0-all.tar.gz 4.53MB