











<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-crawler</artifactId>
<version>${最新稳定版}</version>
</dependency>
注意:仅供学习测试使用,如有侵犯请联系删除
提示:更多测试代码可以前往仓库查看:测试代码目录
XxlCrawler crawler = new XxlCrawler.Builder()
.setUrls("https://gitee.com/explore/all?order=starred&page=1") // 设置爬虫入口URL
.setAllowSpread(true) // 允许爬虫扩散
.setWhiteUrlRegexs("^https:\\/\\/gitee\\.com\\/explore\\/all\\?order=starred&page=[1-5]$") // 设置爬虫扩散的URL白名单正则表达式,控制扩散范围
.setThreadCount(3) // 设置爬虫线程池大小
.setPauseMillis(100) // 设置爬虫每次抓取间隔时间,避免对下游压力过大
.setPageParser(new PageParser<GiteeProjectPageVo>() {
@Override
public void afterParse(Response<GiteeProjectPageVo> response) {
/**
* 获取爬虫结果数据:afterParse 会在多线程爬虫运行过程中实时输出爬虫结果数据,避免结尾一次性反馈造成大对象问题;可实时消费处理数据,如存储在DB等。
*/
if (response.getParseVoList() != null) {
for (GiteeProjectPageVo pageVo: response.getParseVoList()) {
logger.info("response.getHtml().baseUri()={}, PageDataVo={}", response.getHtml().baseUri(), pageVo);
}
}
}
})
.build();
crawler.start(true);
XXL-CRAWLER 是一个轻量级Java爬虫框架。一行代码开发一个多线程爬虫,全注解方式采集页面数据至Java对象,拥有"多线程、全注解、JS渲染、代理、分布式扩展"等特性;

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。