Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xuxueli/xxl-crawler
A distributed web crawler framework.(分布式爬虫框架XXL-CRAWLER)
https://github.com/xuxueli/xxl-crawler
crawler distributed flexible java object-oriented spider web xxl-crawler
Last synced: 1 day ago
JSON representation
A distributed web crawler framework.(分布式爬虫框架XXL-CRAWLER)
- Host: GitHub
- URL: https://github.com/xuxueli/xxl-crawler
- Owner: xuxueli
- License: apache-2.0
- Created: 2017-10-17T03:39:46.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-23T05:08:11.000Z (almost 2 years ago)
- Last Synced: 2024-12-15T11:03:57.866Z (8 days ago)
- Topics: crawler, distributed, flexible, java, object-oriented, spider, web, xxl-crawler
- Language: Java
- Homepage: http://www.xuxueli.com/xxl-crawler
- Size: 381 KB
- Stars: 692
- Watchers: 49
- Forks: 299
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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
- [中文文档](https://www.xuxueli.com/xxl-crawler/)## 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
- [社区交流](https://www.xuxueli.com/page/community.html)
## Contributing
Contributions are welcome! Open a pull request to fix a bug, or open an [Issue](https://github.com/xuxueli/xxl-crawler/issues/) to discuss a new feature or change.欢迎参与项目贡献!比如提交PR修复一个bug,或者新建 [Issue](https://github.com/xuxueli/xxl-crawler/issues/) 讨论新特性或者变更。
## 接入登记
更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-crawler/issues/1 ) 登记,登记仅仅为了产品推广。## 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](https://www.xuxueli.com/page/donate.html )无论金额多少都足够表达您这份心意,非常感谢 :) [前往捐赠](https://www.xuxueli.com/page/donate.html )