Gecco是一个开源的简单的java爬虫框架
主要是通过将获取的网页信息封装成HtmlBean来进行爬取信息。
作者也是一个新手。这篇文章只是提供一个入门的思路。
如果有不对的地方,还望指正。
咱们来爬取一下明星的信息。http://ku.ent.sina.com.cn/sta...
一些解释性的东西我大都写到注释里了。
1、入口程序
public class StarIndexPage{
public static void main(String[] args) {
String url = "http://ku.ent.sina.com.cn/star/search&page_no=1"; //想要爬取的网站的首页地址
HttpGetRequest start = new HttpGetRequest(url); //获取网站请求
start.setCharset("UTF-8");
GeccoEngine.create() //创建搜索引擎
.classpath("com.yue.gecco") //要搜索的包名,会自动搜索该包下,含@Gecco注解的文件。
.start(start)
.thread(5)//开启多少个线程抓取
.interval(2000) //隔多长时间抓取1次
.run();
}
}
2、HtmlBean部分。Gecco用到的注解部分很多。
@Gecco(matchUrl = "http://ku.ent.sina.com.cn/star/search&page_no={page}",pipelines {"consolePipeline","starIndexPagePipeline"})
//matchUrl是爬取相匹配的url路径,然后将获取到的HtmlBean输出到相应的管道(pipelines)进行处理。这里的管道是可以自定义的。
public class StarIndexPage implements HtmlBean {
private static final long serialVersionUID = 1225018257932399804L;
@Request
private HttpRequest request;
//url中的page参数
@RequestParameter
private String page;
//首页中的明星板块的集合,li的集合
@HtmlField(cs