XXL-CRAWLER
XXL-CRAWLER, a distributed web crawler framework.
-- Home Page --
Introduction
XXL-CRAWLER is a distributed web crawler framework. One line of code develops a distributed crawler. Features such as "multithreaded、asynchronous、dynamic IP proxy、distributed、javascript-rendering".
XXL-CRAWLER 是一個分佈式爬蟲框架。一行代碼開發一個分佈式爬蟲,擁有"多線程、異步、IP動態代理、分佈式、JS渲染"等特性;
Documentation
Features
- 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、主動停頓:爬蟲線程處理完頁面之後進行主動停頓,避免過於頻繁被攔截;
Communication
Contributing
Contributions are welcome! Open a pull request to fix a bug, or open an Issue to discuss a new feature or change.
歡迎參與項目貢獻!比如提交PR修復一個bug,或者新建Issue 討論新特性或者變更。
接入登記
更多接入的公司,歡迎在登記地址登記,登記僅僅為了產品推廣。
Copyright and License
This product is open source and free, and will continue to provide free community technical support. Individual or enterprise users are free to access and use.
- Licensed under the Apache License, Version 2.0.
- Copyright (c) 2015-present, xuxueli.
產品開源免費,並且將持續提供免費的社區技術支持。個人或企業內部可自由的接入和使用。
Donate
No matter how much the amount is enough to express your thought, thank you very much :) To donate
無論金額多少都足夠表達您這份心意,非常感謝:) 前往捐贈