背景
相信大家都对爬虫或多或少对有一个概念,百度百科描述为:
爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
网上大部分的爬虫框架,都很好都整合了制定规则和自动抓取都两个功能。但也因为其整合性高,上手难度也随之提升。目前github上面星比较高的爬虫框架有:
- Apache Nutch
- webmagic
- WebCollector
- gecco
- …
但是我最想为大家介绍的是下面这个。 - retrofit-crawler
retrofit-crawler简介
retrofit-crawler是一款基于retrofit和jsoup编写的爬虫api,它提供了一个和面向接口编程一样的代码编写风格。
依赖
<dependency>
<groupId>com.github.qlone</groupId>
<artifactId>retrofit-crawler</artifactId>
<version>1.0.0</version>
</dependency>
创建一个爬虫规则
举个例子,当我要获取百度新闻首页的新闻标题和url时,我通过对页面对一顿猛如虎的分析,我获得了一个接口:
public interface Baidu {
@POST("/")
Call<Accept> html();
}
public class Accept {
@Select("div#pane-news li")