1、 引入pom文件
<!--webmagic网络爬虫-->
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-core</artifactId>
<version>0.7.3</version>
</dependency>
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-extension</artifactId>
<version>0.7.3</version>
</dependency>
2、 编写爬虫工具
/**
* 网络爬虫工具
*
* @author sunyiran
* @date 2018-09-11
*/
public class WebMagicUtils {
/**
* 抓取csdn文章标题
* @param beginUrl
* @param urlReg
* @param xpath
* @return
*/
public Map<String, List<String>> getCsdnInfo(String beginUrl, String urlReg, Map<String, String> xpath) {
Map<String,List<String>> map = new HashMap<>();
//是否结束抓取
AtomicBoolean end = new AtomicBoolean(false);
//定义抓取规则
PageProcessor processor = new PageProcessor() {
@Override
public void process(Page page) {
page.addTargetRequests(page.getHtml().links().regex(urlReg).all());
//lambda遍历map集合
xpath.forEach((x, y) -> {
//根据xpath语法解析页面元素
Selectable selectable = page.getHtml().xpath(y);
//如果不再获取
if (selectable.get() == null) {
end.set(true);
} else {
//如果元素已经