crawler4j 介绍

来源:互联网 发布:淘宝买家诈骗卖家货物 编辑:程序博客网 时间:2024/06/07 15:27

可以参照crawler4j例子学习使用它。

crawler4j的使用主要分为两个步骤:

  1. 实现一个继承自WebCrawler的爬虫类;
  2. 通过CrawlController调用实现的爬虫类。

WebCrawler是一个抽象类,继承它必须实现两个方法:shouldVisit和visit。其中:

  • shouldVisit是判断当前的URL是否已经应该被爬取(访问); 可以设置匹配,选择哪些网站需要爬取,哪些不需要。
  • visit则是爬取该URL所指向的页面的数据,其传入的参数即是对该web页面全部数据的封装对象Page。这个函数是对那些需要爬取的网站进行分析,获取需要爬取的内容。

1、shouldVisit

在继承自WebCrawler的类中定义匹配模式,选择哪些网站需要爬取,哪些不需要。

private static final Pattern filters = Pattern.compile(".*(\\.(css|js|mid|mp2|mp3|mp4|wav|avi|mov|mpeg|ram|m4v|pdf"
            + "|rm|smil|wmv|swf|wma|zip|rar|gz))$");
       
        // 可以在这里定义匹配模式,也可以直接在 shouldVisit 中用 href.matches("^http://www.yougou.com.*") 匹配。
        private static final Pattern urlPattern = Pattern.compile("^http://www.yougou.com.*");

如果匹配则返回 true,否则false
if (urlPattern.matcher(href).matches()) {
                   return true;
 } 

2、visit

对shouldVisit返回true的每个网站进行分析,获取需要爬取的内容。


0 0