摘 要:随着数字图书馆的发展,数字资源逐渐成为高校图书馆馆藏不可缺少的一部分。元数据一直是图书馆实现文献有序化的主要工具。在数字图书馆的建设中,元数据也同样起到重要的作用。传统的元数据提取方法通常采用手工录入或者复制粘贴的方法,效率低下,费时费工,错误率高。文章探讨利用八爪鱼网络爬虫技术自动采集元数据的方法,该方法可提高元数据的提取效率,并且具有较强的适应性。数字资源元数据的建设对于图书馆来说,还是一个需要不断研究、不断实践、不断发展的新兴领域。如何基于高校图书馆数字资源元数据的特点,实现元数据的自动采集是本文研究的重点。
关键词:八爪鱼;网络爬虫;元数据;高校图书馆
中图分类号:TP391.1;G250.73 文献标识码:A 文章编号:2096-4706(2019)04-0004-03
Acquisition of Metadata Efficiently by Using Octopus Web Crawler Technology in
University Libraries
ZHANG Zhiyong
(Guangdong Peizheng College,Guangzhou 510830,China)
Abstract:With the development of digital libraries,digital resources have gradually become an indispenSable part of the collection of university libraries. Metadata has always been the main tool for library to achieve document ordering. Metadata also plays an important role in the construction of digital libraries. Traditional methods of metadata extraction usually use manual input or copy and paste method,which is inefficient,time-consuming,labor-consuming and high error rate. This paper discusses the method of automatically collecting metadata using octopus web crawler technology. This method can improve the efficiency of metadata extraction and has strong adaptability. For libraries,the construction of digital resource metadata is still a new field that needs to be studied,practiced and developed continuously. How to realize the automatic collection of metadata based on the characteristics of digital resources metadata in university libraries is the focus of this paper.
Keywords:octopus;web crawler;metadata;university library
1 元數据概述
在图书馆与信息界,元数据被定义为:提供关于信息资源或数据的一种结构化的数据,是对信息资源的结构化的描述;其作用为:描述信息资源或数据本身的特征和属性,规定数字化信息的组织,具有定位、发现、证明、评估、选择等功能。元数据具有传统目录的“著录”功能,目的在于使信息资源的管理维护者及使用者可通过元数据了解并辨别资源,进而管理和利用资源,为形式管理转向内容管理奠定必要的基础。[1]
2 高校图书馆数字资源元数据建设的特点
与图书馆传统编目工作相比,数字资源元数据的建设有其自身的特点。因此,对数字资源进行编目不能如传统编目工作那样完全依赖图书馆馆员,而需要结合自动编目方法。自动编目可以极大地节省人力,提高元数据制作的速度,但是,数字资源,尤其是网络信息资源的自由性、不规范性、非结构化特点会影响元数据的质量,因此,数字资源元数据的建设应加强对信息自动处理技术的研究,充分利用受控词表、本体等知识组织工具提高对文本进行自动处理的准确性。
多年来,图书馆的编目工作一直以手头文献为著录对象,而数字文献由于有了数字文本,就有了对信息资源的内容乃至知识点进行挖掘与组织的可能。因此,数字资源元数据除了可以以文献为著录对象外,还应进一步以作品为著录对象,摆脱文献由物理形态带来的限制,围绕作品整合资源,最终实现整合知识,建立多层次的关联关系,为用户提供准确高效的知识导航。
网络信息资源与图书馆传统馆藏有着很大的区别,因此,建设网络信息资源元数据应首先研究制订适用于网络信息资源的元数据标准体系,标准的制定既要关注网络信息资源的特点,又要与通用的元数据标准保持相对的一致,以保证标准具有开放性,能通过互操作实现信息资源的共建共享。
数字资源具有多种来源、多种媒体类型,因此,对数字资源元数据的利用中很重要的一个环节是整合不同来源、不同类型的元数据,揭示其中的关联关系,使用户可以一站式获取所需资源。
图书馆应根据其馆藏情况、系统建设的特点来考虑数字资源元数据的采集方式。第一种是基于OPAC,以纸本文献的书目数据为核心,整合相关数字资源元数据,这种方式适用于数字资源建设初期,本馆馆藏仍然以书目数据为主的情况;另一种方式是构建元数据仓储,整合各种类型、各种来源的元数据,实现一体化的元数据服务,这种方式适用于建设了大量不同来源、不同格式的数字资源元数据的情况。
3 元數据自动提取功能的实现
元数据的采集有多种方法。第一种方法是逐个文件人工提取;第二种方法是借助软件公司来实现数据的提取和上传;第三种方法是根据自身的情况研发软件或使用已有的软件,实现数据的自动提取。大多数有采集需求的单位,都不想自己手工复制粘贴数据,因为这样费时费力,效率不高,错误率高,而外包给软件公司虽然解决了效率和错误率问题,但是费用高昂。那如何才能简单高效低费率地采集目标网站的元数据呢?其中最常用的手段就是使用网络爬虫工具去获取。[2]
3.1 网络爬虫及八爪鱼采集系统介绍
网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,[3]又称为网页蜘蛛,网络机器人。互联网中存在各种网页,每一个网页都有其对应的网址。通常,人们通过人工的方式从互联网中获取所需的信息,这种获取信息的方式覆盖面小,而且高度耗费人力。网络爬虫解决了这一问题,它可以从一个或者一组网址出发,访问其关联的所有网址,并且可以从每个网址对应的页面中提取所需要的、有价值的数据。[4]
八爪鱼网页采集器就是网络爬虫的一种。用户可以设置从哪个网站爬取数据,爬取哪些数据,爬取什么范围的数据,什么时候去爬取数据,爬取的数据如何保存等等。[5]
八爪鱼采集系统是一款免费网络爬虫软件,系统采用分布式云构架,联合客户要求,整个系统部署在腾讯云平台之上。系统包含主程序、监控程序、采集规则配置客户端、分布式采集集群和存储集群,如图1所示。
主程序实现任务负载均衡分发,采集集群实现多类别、多站点同时并发采集,采用先进高效的采集技术,采集过程高效准确。存储集群可存储半结构化和非结构化的数据,具有高容错性、高可用性。[6]
监控程序提供一个“一站式”人机交互界面供系统管理人员使用。功能包括服务资源管理、节点资源管理、任务控制及监视。
采集规则配置客户端通过模拟人工网页浏览操作,可视化制作采集规则流程,无须编写代码。采集规则配置数据存储在一个配置数据库中。实现对互联网目标信息源各类碎片化信息的实时采集。提供数据的导出接口,向外部系统提供数据导出功能,补充数据来源,如图2所示。
实现7×24小时循环信息数据的采集、增量的信息采集,全网采集、定向采集、智能提取形式结合。
八爪鱼采集原理是:通过大数据分析人浏览网页,复制数据的行为,通过记录和模拟人的各种上网行为,利用自动程序代替人浏览网页和手工复制粘贴网页数据,从而实现自动化采集目标网页数据,并通过不断重复一系列预设的动作,实现全自动采集数据。其客户端程序用于配置及管理任务(包括云采集和定时云采集),数据导出程序负责导出数据,支持Excel、SQL、TXT、MySQL等数据格式,支持一次导出百万级别数据。
本地采集程序负责根据工作流对网页进行打开、抓取、采集数据,通过正则表达式与XPath原理,快速获取网页元数据。基于Firefox内核浏览器的采集流程,通过模拟人工操作模式实现对网页数据的全自动提取。通过精确定位网页源码中各个数据XPath路径,八爪鱼能够批量精准采集出用户所需元数据。
3.2 八爪鱼采集系统软件的安装与登录
打开八爪鱼官网(http://www.bazhuayu.com/)下载最新版本,安装到本地计算机,软件需要NET Framework 3.5 SP1支持,在安装时软件会自动检测是否安装了NET Frame work 3.5 SP1,如果没有安装则自动从微软官方在线安装。安装完成后使用电子邮箱或者手机号码免费注册账户并登录。
3.3 采集目标网站元数据的操作流程,以维普期刊导航数据为例创建数据采集流程
3.3.1 创建采集任务
(1)进入主界面,点击右侧导航条“任务”按钮,打开任务界面,点击“新建”下拉菜单,选择“自定义采集”。
(2)输入采集网址的方法有“手动输入、从文件导入、批量生成和从任务导入”四种,可以先把需要采集的目标网址URL保存到一个文件中,再将目标网址URL复制粘贴到网址输入框中,注意输入的网址不要超过1万条,这里我们选择手动输入即可,点击“保存网址”。
内置浏览器会打开网页,右边的操作提示显示“请选择页面元素”,点击核心期刊导航中的折叠按钮,在操作提示中点击“点击该元素”按钮,网页上的折叠区域打开,同时在流程图中自动添加“点击元素”。
3.3.2 创建翻页循环
若需要采集的元数据比较多,出现多页分布情况,则需要创建翻页循环。
(1)点击其中一个期刊类别链接,打开网页之后,点击右上角的按钮,使制作的流程呈现可见状态。点击网页下方的“下一页”按钮,选择“循环点击单个链接”,翻页循环创建完成。可在左上角流程中手动点击“循环翻页”和“点击翻页”几次,测试是否正常翻页。
(2)若加载详情页时加载速度很慢,网页一直处于缓冲状态,无法立即执行下一个步骤,可以在“循环翻页”的高级选项里设置“Ajax加载数据”,超时时间设置为3-5秒,点击“确定”按钮,八爪鱼在采集数据时将会等待3-5秒时间,让浏览器加载网页数据,让下一步骤得以顺利执行。
3.3.3 创建列表循环
若需要采集的元数据常常以表单格式分布在目标页面,则需要创建列表循环。
(1)用鼠标右键点击网页上的“中国科技核心期刊”按钮,可以看到自动有红色虚框框住链接按钮,在操作提示中提示“已选中一个链接,同时发现34个同类链接,您可以”,点击“选中全部”,操作提示框提示“已选中34个链接,以下是列表,您可以:采集以下链接文本、采集以下链接地址、采集以下元素innerHtml……循环点击每个链接”。
(2)鼠标点击“循环点击每个链接”按钮,流程图中自动创建一个循环点击元素的流程,对其他元素进行同样的操作,可以一一打开不同深度的页面。列表循环就创建完成,并进入到第一个循环项的详情页面。若进入详情页时一直在缓冲状态,无法执行下一个步骤,可以在“点击元素”的高级选项里设置“Ajax加载数据”,Ajax超时设置为3秒,点击“确定”。
(3)數据提取,接下来采集具体字段,分别选中页面中需要抓取的元数据,点击“采集该元素的文本”,可以在“配置抓取模版”中修改字段名称。
若需要抓取的元数据占据多行,可以用鼠标点击其所在的位置,点击“操作提示”框中的右下角图标 ,扩大选项范围,直至包括全部正文内容,选择“采集该元素的文本”,修改字段名称,数据提取完毕。
(4)若网页加载速度非常慢,或者要避免访问页面较快出现防采集问题,可在流程各个步骤的高级选项里设置“执行前等待”几秒时间,设置后点击“确定”。
3.3.4 数据采集及导出
(1)点击左上角的“保存”按钮,点击“开始采集”按钮,弹出对话框中有“启用本地采集、启用云采集、设置定时云采集”三个选项。选择“启动本地采集”,“启用本地采集”用于测试流程是否正确,也用于免费采集数据任务,其它两个选项为收费项目。
(2)采集完成后,会跳出提示,选择“导出数据”,选择“合适的导出方式”,将采集好的数据导出,这里我们选择Excel作为导出格式,保存文件,数据就导出来了。
4 结 论
通过利用八爪鱼网络爬虫技术可提高高校图书馆元数据的采集效率,丰富数据来源,为读者提供更丰富的数字资源。充分利用大数据技术,采集互联网及第三方的数据丰富图书馆特色数据库,建立一个先进、高效、稳定的第三方数据采集系统,怎样提高数据提取的效率,是图书馆信息技术部需要研究的重点内容。技术人员只需借助八爪鱼软件,根据数字资源的情况设置一定的规则,对导出的数据稍做调整,就可以既省时又省力地完成对元数据的提取和上传,并且规则设定之后可以重复使用,既克服了传统手工采集时工作量大、容易出错的问题,又极大地提高了后期数据提取的效率。[7]
但是,我们也要看到八爪鱼等网络爬虫采集器的局限性:即这些爬虫软件只能爬取网页上存在的电子元数据,它们无法抓取纸本资料上的元数据,如何高效获取纸本资料元数据依然是一个值得每个图书馆人员思考的问题。
参考文献:
[1] 蔡毅杰,骆兵.元数据在图书馆信息管理中的应用 [J].科技信息,2014(5):144.
[2] 陈乐.基于Python的网络爬虫技术 [J].电子世界,2018(16):163+165.
[3] 刘宇,程学林.基于决策树算法的爬虫识别技术 [J].软件,2017,38(7):122-125.
[4] 毛逸恒.基于网络爬虫的网页信息获取技术 [J].通讯世界,2018(6):11-12.
[5] 百度百科.网络爬虫 [EB/OL].https://baike.baidu.com/ item/%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB,2018-12-25.
[6] 八爪鱼官网.http://www.bazhuayu.com/.
[7] 崔玉洁,廖坤.借助八爪鱼采集器实现过刊网刊元数据的自动提取 [J].编辑学报,2016,28(5):485-488.
作者简介:张志勇(1977.09-),男,汉族,广东五华人,图书馆管理员,本科,研究方向:图书馆数字资源管理。