webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。webmagic的核心非常简单,但是覆盖爬虫的整个流程,也是很好的学习爬虫开发的材料。作者曾经在前公司进行过一年的垂直爬虫的开发,webmagic就是为了解决爬虫开发的一些重复劳动而产生的框架。
用了一两天时间研究了下使用方式和代码,抓煎蛋网的段子页面走了不少的弯路,同样也学会了很多不同方面的知识,比如xpath,regex,jdbc等等,经过不断的调试,终于还是几乎爬下了所有的文本,然后持久化到mysql中去了(有几条由于编码问题没法持久化到mysql)。
准备阶段
1.直接去webmagic官网下载到webmagic-core-0.5.2.jar和webmagic-extension-0.5.2.jar包导入到项目中即可,在maven中也能直接搜索的到。
2.下载jdbc并且导入到项目中去,我们是要把爬到的数据导入到数据库中的。
3.与所有的爬虫一样,先得去网站定位好需要抓取的位置,webmagic支持xpath,regex,css选择器等等,数据筛选起来相对jsoup更加方便。
PageProcesser:
Pipeline:
结果截图
实话说这个爬虫也就仅仅满足了能用的标准,还是一个极低的标准,存在着一大堆的问题。比如并没有很好的去除抓取的数据中的干扰信息,比如重复的开启关闭数据库链接等。大概是写过的Java代码实在是少,一直局限在自己对编程的理解上没什么进步,按照自己的想法写一些丑陋的代码。后边会找很多的机会多写一些,体会OO的精髓,争取早日步入正轨吧。