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
76.4M / 03-25
55M / 06-05
237.9M / 04-13
140.5M / 03-06
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
353.9M / 06-05
131.8M / 04-13
230.8M / 03-03
195.6M / 03-03
165.4M / 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
325.8M / 06-07
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
110.5M / 04-23
26.7M / 03-16
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
201.2M / 04-13
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
9.48G / 07-06
50KB / 07-06
116.2M / 04-10
1.92G / 04-17
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
509.7M / 07-06
561.8M / 07-11
1.32G / 01-19
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