大数据采集:爬虫框架之WebMagic的基本使用

大数据采集:爬虫框架之WebMagic的基本使用webmagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接提取、页面下载、内容抽取、持久化),支持多线程抓取,分布式抓取,并支持自动重试、自定义UA/cookie等功能。作为爬虫框架,它使用httpclient作为获取网页工具、使用Jsoup作为分析页面定位抓取内容、使用ExecutorService线程池作为定时增量抓取、Jdiy作为持久层框架。不熟悉这些名词的同学们可以先行百度一下这些都是什么,起了什么作用,以便更好的理解爬虫的原理。

爬虫主要思想分这么几步:

1. 根据种子链接,抽取目标链接放入待爬取队列

2. 从页面中解析并抽取需要的信息,webmagic在这里会用Jsoup组件来解析html页面。

3. 处理数据。将已提取出来的数据以文件格式存放或者存入数据库以及搜索引擎索引库等。

此处以爬取天涯论坛某个栏目下的帖子主题和链接为例(示例比较简单,仅供大家入门参考):

要爬取的种子链接页面如下,大数据采集:爬虫框架之WebMagic的基本使用


配置java工程及导入webmagic的核心jar等操作步骤此处不再详细描述,下面说一下代码示例。

首先,需要新建一个实现PageProcessor接口的类,复写process方法。部分截图如下:大数据采集:爬虫框架之WebMagic的基本使用


程序结构:大数据采集:爬虫框架之WebMagic的基本使用

第一步,抽取目标链接放入待爬取队列。

说明:

程序启动入口处设置种子链接并设置相应的Pipeline(第三步会讲PipeLine怎么写),定义爬取时使用的线程数,并使用webmagic监控(这一句话:SpiderMonitor.instance().register(CastSpider))。

代码如下:

大数据采集:爬虫框架之WebMagic的基本使用

此处从页面html中提取所有翻页的链接并使用正则表达式筛选后放入待爬取队列:大数据采集:爬虫框架之WebMagic的基本使用


第二步,从页面中解析并抽取需要的信息。此处获取帖子主题、作者、点击数、回复数、最后回复时间,process方法内示例:
大数据采集:爬虫框架之WebMagic的基本使用

第三步,处理数据。此处以存放入mysql数据库为例,定义一个MysqlPipeline,实现Pipeline接口。
大数据采集:爬虫框架之WebMagic的基本使用

最后,大功告成,启动运行后,数据库中存储的数据如下:大数据采集:爬虫框架之WebMagic的基本使用

怎么样,是不是很简单?大家一起试着写写,从网上爬点要的数据吧。

不能空想理论和架构,搞软件研发相关工作的同学们,该动手时就要动手!学习编程开发没有捷径,一定要动手来写!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值