说起网络爬虫大家首先都会想到python爬虫,但是用Java实现爬虫的也很多,也有很多爬虫框架,今天我想说说我使用什么做爬虫的。
其实我也是一个爬虫白痴,刚接触爬虫的时候都是用纯java去做,但是做到一半的时候发现要写的代码真多,所以就找Java爬虫框架,于是就碰到了GECCO,说起这个GECCO,
确实比较适合入门,下面就说说这个框架是如何使用的。
@Gecco(matchUrl="https://github.com/{user}/{project}", pipelines="consolePipeline")
public class MyGithub implements HtmlBean {
private static final long serialVersionUID = -7127412585200687225L;
@RequestParameter("user")
private String user;
@RequestParameter("project")
private String project;
@Text
@HtmlField(cssPath=".repository-meta-content")
private String title;
@Text
@HtmlField(cssPath=".pagehead-actions li:nth-child(2) .social-count")
private int star;
@Text
@HtmlField(cssPath=".pagehead-actions li:nth-child(3) .social-count")
private int fork;
@Html
@HtmlField(cssPath=".entry-content")
private String readme;
public String getReadme() {
return readme;
}
public void setReadme(String readme) {
this.readme = readme;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getProject() {
return project;
}
public void setProject(String project) {
this.project = project;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getStar() {
return star;
}
public void setStar(int star) {
this.star = star;
}
public int getFork() {
return fork;
}
public void setFork(int fork) {
this.fork = fork;
}
public static void main(String[] args) {
GeccoEngine.create()
//Gecco搜索的包路径
.classpath("com.geccocrawler.gecco.demo")
//开始抓取的页面地址
.start("https://github.com/xtuhcy/gecco")
//开启几个爬虫线程
.thread(1)
//单个爬虫每次抓取完一个请求后的间隔时间
.interval(2000)
.start();
}
}
这个是官方给的一个demo,后来我又找到web版并可以定时执行的gecco代码,并大量修改,目前已经把汽车之家、易车网、瓜子二手车等网站顺利爬下,这里就不分享了,如若想要就联系我,一切代码都奉上