Java爬虫之Spring+Mybatis+Webmagic

发表于  菜鸟之路   2016-07-19   字数:708   阅读量: 1,222    字号:   赞: 4    

Java爬虫之Spring+Mybatis+Webmagic

Webmagic是Java语言编写的一个小巧强大的爬虫框架。该项目的中文官方文档地址是:http://webmagic.io/docs/zh/。关于持久化到Mysql或者MongoDB这一块儿,作者采用的是纯注解模式,本人更喜欢mybatis的XML注解形式。本文通过一个最简单的例子来说明Webmagic框架将数据持久化到数据库的整个过程。

本文以爬取百度首页的几个标签为例。打开百度首页,按F12键或者右键查看源代码可以找到如下图的标签,我们就将这几个标签存到数据库中。

Eclipse新建一个maven工程,工程的结构如下图所示:

新建了一个实体叫BaiduColumn用来存放栏目信息,Dao层和Service层与spring+mybatis框架的结构一样。主要增加了Pipeline和Pageprocessor这两个包,ColumnPageprocessor是主要负责抓取的程序,继承了Webmagic框架里的PageProcessor方法,抓取的方法就是利用Xpath、正则、CSS选择器获取静态网页的标签,选取自己需要的内容。ColumnPipeline就是将ColumnPageprocessor抓取的结果存放到mysql数据库中,继承了Webmagic的Pipeline方法。当然此处也可以使用SpringData+MongoDB将爬取内容持久化到Nosql数据库中,掌握了文中例子里面的方法就可以自己定制了。
ColumnPipeline代码如下图所示:

ColumnPageprocessor代码如下图所示:

示例代码请点击下载,数据库文件在sql文件夹下,运行之前记得先改数据库配置、导入sql数据库表!


已有 3 条评论
  1. $

    嗯有点意思博主,友链接www.wangjianxin.top

    1月7日 13:07 回复
    • 静水流深

      你的站用java写的~

      1月7日 13:11 回复
  2. 工作一年了,你的技术进步的很快。
    “菜鸟之路”要改为“大神之路”了。

    2016年7月19日 12:39 回复