通过网络爬虫采集大数据

网络数据采集是指通过网络爬虫或网站公开 API 等方式从网站上获取数据信息。该方法可以将非结构化数据从网页中抽取出来,将其存储为统一的本地数据文件,并以结构化的方式存储。它支持图片、音频、视频等文件或附件的采集,附件与正文可以自动关联。

在互联网时代,网络爬虫主要是为搜索引擎提供最全面和最新的数据。

在大数据时代,网络爬虫更是从互联网上采集数据的有利工具。目前已经知道的各种网络爬虫工具已经有上百个,网络爬虫工具基本可以分为 3 类。

  • 分布式网络爬虫工具,如 Nutch。
  • Java 网络爬虫工具,如 Crawler4j、WebMagic、WebCollector。
  • 非 Java 网络爬虫工具,如 Scrapy(基于 Python 语言开发)。

本节首先对网络爬虫的原理和工作流程进行简单介绍,然后对网络爬虫抓取策略进行讨论,最后对典型的网络工具进行描述。

网络爬虫原理

网络爬虫是一种按照一定的规则,自动地抓取 Web 信息的程序或者脚本。

Web 网络爬虫可以自动采集所有其能够访问到的页面内容,为搜索引擎和大数据分析提供数据来源。从功能上来讲,爬虫一般有数据采集、处理和存储 3 部分功能,如图 1 所示。

网络爬虫示意
图 1  网络爬虫示意

网页中除了包含供用户阅读的文字信息外,还包含一些超链接信息。

网络爬虫系统正是通过网页中的超链接信息不断获得网络上的其他网页的。网络爬虫从一个或若干初始网页的 URL 开始,获得初始网页上的 URL,在抓取网页的过程中,不断从当前页面上抽取新的 URL 放入队列,直到满足系统的一定停止条件。

网络爬虫系统一般会选择一些比较重要的、出度(网页中链出的超链接数)较大的网站的 URL 作为种子 URL 集合。

网络爬虫系统以这些种子集合作为初始 URL,开始数据的抓取。因为网页中含有链接信息,通过已有网页的 URL 会得到一些新的 URL。

可以把网页之间的指向结构视为一个森林,每个种子 URL 对应的网页是森林中的一棵树的根结点,这样网络爬虫系统就可以根据广度优先搜索算法或者深度优先搜索算法遍历所有的网页。

由于深度优先搜索算法可能会使爬虫系统陷入一个网站内部,不利于搜索比较靠近网站首页的网页信息,因此一般采用广度优先搜索算法采集网页。

网络爬虫系统首先将种子 URL 放入下载队列,并简单地从队首取出一个 URL 下载其对应的网页,得到网页的内容并将其存储后,经过解析网页中的链接信息可以得到一些新的 URL。

其次,根据一定的网页分析算法过滤掉与主题无关的链接

  • 14
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值