XXL-CRAWLER v1.2.2 釋出,分散式爬蟲框架
v1.2.2 新特性
-
1、系統底層重構,規範包名;
-
2、採集執行緒白名單過濾優化,避免冗餘失敗重試;
-
3、增強JS渲染方式採集能力,原生新提供 "SeleniumPhantomjsPageLoader",支援以 "selenisum + phantomjs" 方式採集頁面資料;
-
4、支援採集非Web頁面,如JSON介面等,直接輸出響應資料;選擇 "NonPageParser" 即可;
簡介
XXL-CRAWLER 是一個分散式爬蟲框架。一行程式碼開發一個分散式爬蟲,擁有"多執行緒、非同步、IP動態代理、分散式、JS渲染"等特性;
特性
-
1、簡潔:API直觀簡潔,可快速上手;
-
2、輕量級:底層實現僅強依賴jsoup,簡潔高效;
-
3、模組化:模組化的結構設計,可輕鬆擴充套件
-
4、面向物件:支援通過註解,方便的對映頁面資料到PageVO物件,底層自動完成PageVO物件的資料抽取和封裝返回;單個頁面支援抽取一個或多個PageVO
-
5、多執行緒:執行緒池方式執行,提高採集效率;
-
6、分散式支援:通過擴充套件 "RunData" 模組,並結合Redis或DB共享執行資料可實現分散式。預設提供LocalRunData單機版爬蟲。
-
7、JS渲染:通過擴充套件 "PageLoader" 模組,支援採集JS動態渲染資料。原生提供 Jsoup(非JS渲染,速度更快)、HtmlUnit(JS渲染)、Selenium+Phantomjs(JS渲染,相容性高) 等多種實現,支援自由擴充套件其他實現。
-
8、失敗重試:請求失敗後重試,並支援設定重試次數;
-
9、代理IP:對抗反採集策略規則WAF;
-
10、動態代理:支援執行時動態調整代理池,以及自定義代理池路由策略;
-
11、非同步:支援同步、非同步兩種方式執行;
-
12、擴散全站:支援以現有URL為起點擴散爬取整站;
-
13、去重:防止重複爬取;
-
14、URL白名單:支援設定頁面白名單正則,過濾URL;
-
15、自定義請求資訊,如:請求引數、Cookie、Header、UserAgent輪詢、Referrer等;
-
16、動態引數:支援執行時動態調整請求引數;
-
17、超時控制:支援設定爬蟲請求的超時時間;
-
18、主動停頓:爬蟲執行緒處理完頁面之後進行主動停頓,避免過於頻繁被攔截;
文件地址
-
ofollow,noindex">中文文件