二、快速入门
爬虫示例参考
(爬虫示例代码位于 /test 目录下)
- 1、爬取页面数据并封装VO对象
- 2、爬取页面,下载Html文件
- 3、爬取页面,下载图片文件
- 4、爬取页面,代理IP方式
- 5、爬取公开的免费代理,生成动态代理池
- 6、分布式爬虫示例
- 7、JS渲染方式采集数据,&# 34;htmlUnit&# 34; 方案
- 8、JS渲染方式采集数据,&# 34;selenisum + phantomjs&# 34; 方案
- 9、采集非Web页面,如JSON接口等,直接输出响应数据
第一步:引入Maven依赖
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-crawler</artifactId>
<version>${最新稳定版}</version>
</dependency>
第二步:定义 &# 34;PageVo/页面数据对象&# 34;(可选)
在此推荐两款工具,可以直观迅速的获取页面元素的Jquery cssQuery表达式。- 1、Chrome DevTools:首先定位元素位置,然后从Element选中选中元素,点击右键选择“Copy + Copy selector”即可;- 2、Jquery Selector Helper(Chrome插件):首先定位元素位置,然后从Element右侧打开Selector界面,然后定位元素即可;
// PageSelect 注解:从页面中抽取出一个或多个VO对象;
@PageSelect(cssQuery = &# 34;body&# 34;)
public static class PageVo {
@PageFieldSelect(cssQuery = &# 34;.blog-heading .title&# 34;)
private String title;
@PageFieldSelect(cssQuery = &# 34;# read&# 34;)
private int read;
@PageFieldSelect(cssQuery = &# 34;.comment-content&# 34;)
private List<String> comment;
// set get
}
第三步:创建爬虫
XxlCrawler crawler = new XxlCrawler.Builder()
.setUrls(&# 34;https://my.oschina.net/xuxueli/blog&# 34;)
.setWhiteUrlRegexs(&# 34;https://my\\.oschina\\.net/xuxueli/blog/\\d+&# 34;)
.setThreadCount(3)
.setPageParser(new PageParser<PageVo>() {
@Override
public void parse(Document html, Element pageVoElement, PageVo pageVo) {
// 解析封装 PageVo 对象
String pageUrl = html.baseUri();
System.out.println(pageUrl + &# 34;:&# 34; + pageVo.toString());
}
})
.build();
第四步:启动爬虫
crawler.start(true);