webmagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接提取、页面下载、内容抽取、持久化),支持多线程抓取,分布式抓取,并支持自动重试、自定义UA/cookie等功能。
新的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
新的代理APIProxyProvider,支持自由扩展
默认实现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
140.5M / 09-05
76.4M / 03-25
55M / 06-05
237.9M / 04-13
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
484.7M / 09-27
165.4M / 09-05
353.9M / 06-05
131.8M / 04-13
195.6M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
110.5M / 09-05
33.4M / 09-05
325.8M / 08-12
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
369M / 09-22
181.5M / 09-22
201.2M / 09-05
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
1.76G / 09-22
1.92G / 04-17
116.2M / 04-10
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
561.8M / 07-11
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06
132M / 07-06