WebCollector爬虫的数据持久化

WebCollector爬虫并不像scrapy那样,提供一个pipeline这样的数据持久化接口。

用户通过自定义WebCollector中BreadthCrawler中的visit方法,来定义对每个页面的操作。同样,数据的持久化,也是在这里让用户自定义的。

例如下面这个示例,展示如何将网页的源码,保存到数据库中:


import cn.edu.hfut.dmic.webcollector.crawler.BreadthCrawler;
import cn.edu.hfut.dmic.webcollector.model.Page;


public class MyCrawler extends BreadthCrawler{

    /*在visit方法里定义自己的操作*/
    @Override
    public void visit(Page page) {
        //在这里加入数据持久化的代码
        //例如用户自定义了一个类DBHelper,提供操作mysql的方法(添加删除数据)
        //这里就不给出DBHelper类了,用户可以简单实现一个),
        //假设DBHelper有个static方法insert(String url,String html)
        //insert方法将网页的url和源码提交到mysql数据库
        DBHelper.insert(page.getUrl(),page.getHtml());
    }
    
    public static void main(String[] args) throws Exception{
        MyCrawler crawler=new MyCrawler();
        
        /*配置爬取合肥工业大学网站*/
        crawler.addSeed("http://www.hfut.edu.cn/ch/");
        crawler.addRegex("http://.*hfut\\.edu\\.cn/.*");
        
        /*进行深度为5的爬取*/
        crawler.start(5);
    }
  
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值