浅谈网络爬虫的网站信息采集技术
2021-04-04张立鉴
张立鉴
(保山中医药高等专科学校 云南 保山 678000)
1 引言
互联网上当前大多数信息内容都呈现在网页上,网页通常用HTML描述,其中包含非结构化数据,例如文本、图像、视频和音频。因此,现有的适合处理结构化数据的应用程序很难直接使用网页上的数据。可以手动收集数据,并且可以根据预定义的格式对从互联网收集的各种信息进行分类和转换。在互联网相对较小范围地进行收集信息,这种手动收集方法是可取的。
2 网络爬虫相关技术
2.1 网络爬虫
网络爬虫是一种自动搜集网页信息的技术。这是搜索引擎在万维网上下载网页的关键链接。对于传统的抓取东西,它从一个或几个原始页面的URL开始,将链接集成到原始页面中,并且在搜集网页信息期间,当前页面将获取新链接并将其放置在行列中,直到满足系统识别的要求[1]。对于集群爬虫,操作过程相对繁琐。它必须依据建立的网络研究算法过滤或消除与主题内容不相关的URL,保存所需的URL,然后将保存的URL放入链接行列中等候搜集。然后,依据特定的搜索方法选择行列中的下一个网页链接,并重复上述过程,直到系统满意特定的停止。查询和检索完成后,将对爬虫进行研究和总结,并在反馈后继续对收集任务起到一定的指导作用。
2.2 Web页面信息抽取技术
信息提取(IE)的目标是分析亚自然语言文档,从中提取有效数据,并促进结构化存储[2]。IE系统通过一系列信息提取规则和提取模式来确定自然语言文档中的有效信息。该技术有利于从大量复杂数据中提取有效的关键信息。Web中的信息分散且凌乱,涉及生产和生活的各个方面。相似的信息通常出现在不同的网站上,并且表达形式也不同。使用该信息提取技术可以有效地提取由爬虫收集的信息,以进行数据的结构化存储。
Web信息提取(简称为WebIE)是一种使用Web作为信息源的信息提取。Web文件是半结构化的数据类型,并且是Web信息挖掘的数据源[3]。基于传统信息提取技术的Web信息提取,同时开发满足Web信息提取业务需求的相关技术,并构建半结构化Web文档信息处理,以方便其他业务程序的数据调用。
3 网页信息抽取相关技术
3.1 Web信息抽取的概念
信息提取是从非结构化或半结构化的信息中提取用户感兴趣的内容,然后将结果转换成更结构化、更具体的数据格式的进程[4]。该技术首先选择预界说的规矩信息,然后从自然言语描绘文本中提取特定的信息,之后将提取的信息以结构化的方式存储,供用户查询和运用。信息输入文件的方式可以有多种方式,但提取的数据有必要具有结构化、统一的方式。Web信息提取是从Web中提取信息的信息源。目前,互联网上的大多数数据都是用HTML描绘的,每个Web页面都是半结构化的。半结构化数据是言语的相应数据结构不能自由描绘,而是全局一致的。一个分区有一个数据点,每个分区段运用第一个分区的语义信息,该语义信息可以为n+1[5]。获得局部统一分段的上下文无关文法作为半结构化数据。这种格式的数据没有特定的形式和完整的语义,并且不能被程序使用,这将不可避免地导致资源浪费。Web信息提取的任务是从大量的半结构化网页中识别并提取用户的真实兴趣内容,然后通过正则化获取结构化数据。将海量互联网数据导入数据库,方便人们查询和使用。
3.2 Jsoup解析器介绍
JSoup是一个基于Java的HTML解析器,它为用户提供了十分方便的内容提取接口。该接口能够直接从URL地址、字符串或文件解析相应的HTML页面内容。JSoup[6-7]是在MIT答应下发布的,因而能够安全地用于商业项目。JSoup与jQuery有很多共同点,它还供给了强壮的选择和管道API。它在使用方式上也与普通JavaScript有一些相似之处,这使得初学者能够方便、快速地了解它。通常,HTML符号元素由3部分组成:符号名称、属性和内容。JSoup经过供给十分简洁的API(经过DOM/CSS提取和操作数据)和类似于jQuery的选择器语法来保持自身的精简[8]。JSoup的主要长处是使用起来十分简略,类似于使用JavaScript操作页面DOM目标。对于有JavaScript应用程序经验的开发人员来说,它是直观且了解的。当涉及到符号检索和定位时,JSoup供给了一个功能强壮的选择器,它几乎能够做任何事情。
对于传统的爬虫,无论页面中的所有链接是否满足用户需求,都将在其工作期间对其进行处理,这与主题爬虫完全不同。在特定的爬网过程中,主题爬网程序更倾向于首先识别要爬网的页面。对于与主题相关性非常低的那些页面,主题爬虫认为某些特征词可能仅偶尔出现,而这些偶然出现的特征词和候选主题之间的并行连接并不大,即使两者之间没有相关性,并且其中的链接对最终搜索结果的外观没有任何意义。因此,为了确保由主题爬虫收集的页面的主题与指定的主题相关,必须预先设置特定的阈值,并且在处理链接之前,必须根据阈值删除不太相关的页面,以防止主题爬网程序在后续处理中爬网。此链接可进一步提高收集网页的准确性。
4 爬虫的详细设计思路
主题爬虫的目标是根据抓取的网页内容对文本内容进行分类,方便垂直搜索引擎对不同类别的文本简历进行索引和检索关键词。由于垂直搜索引擎的Web爬虫应用场景广泛,要求Web爬虫具有良好的可扩展性,根据不同的应用场景修改配置文件,满足不同场景的应用需求[9]。
关于垂直搜索引擎,网络爬虫的方针一般是包括格式化数据的网页,例如中关村在线的具体电子信息页面、新浪博客的博客帖子页面等。一般,此类网页具有类似的URL组成规矩,而且每个对应的文章将对应一个包括文章ID的链接。这样,能够通过总结URL衔接规矩来编写与URL相对应的正则表达式。一般来说,爬虫的方针网页将包括其他方针网页和一些不相关的网页,能够通过URL的正则表达式删除不相关的网页,仅保存能够匹配该正则表达式的方针网页。URL过滤办法是垂直搜索引擎的网络爬虫中常用的网页过滤办法。在实践应用中,爬虫任务或许需求获取满意多个规矩的URL。因此,系统将需求以列表方式匹配URL正则表达式,并在程序运行时将它们写入程序。
此外,在Herritrix中,不同的下载工具有不同的作用。Mirror Writer Processor能够依据URL链接将方针Web页面的源代码保存到作业中的适当目录中。Arc Writer Processor:将方针网页保存为ARC文件。因为在本文规划的网络爬虫中,系统需要从爬虫下载的方针网页中剖析并获取相应的格式化数据。因此,主题爬虫程序在herrix配置文件中将Writer Processor指定为mirror writer processor。当网络爬虫完成所需的工作后,体系就能够进行网页信息抽取和文本分类的过程。在Web文本抽取过程中,结构化网页所对应的结构化信息能够很好地体现在网页的源代码中。结构化数据对应于特定的HTML符号,通过标签匹配和标签去除来实现结构化的数据提取。
5 网站信息采集技术在网络爬虫中的应用
在网站信息采集技术的实际应用过程中,不仅可以保证对主要网站信息的及时有效的采集、收集和利用,还可以结合实际情况对这些信息进行分类和整合,并对这些信息进行汇总和归纳。最后,所有内容都记录在一个统一的数据库中。这不仅可以保证该信息在实际应用过程中的真实性和有效性,而且可以提高该信息的整体利用率。网络爬虫科学合理地使用了网站信息收集技术,在某种程度上可以认为该技术是网络爬虫的中心。但是,在该技术的实际应用过程中,仅依靠网络爬虫进行操作就难以保证信息收集任务的有效实施。因此,在这种情况下,必须将其与实际情况相结合,尤其是与其他技术的有效集成操作。这不仅可以从根本上保证网络爬虫在实际应用过程中的效果,而且可以在实际应用过程中提高网站信息收集技术的效率和质量。
6 结语
互联网技术的飞速发展使得搜索引擎技术变得越来越重要。网络爬虫是搜索引擎的重要组成部分,相应的技术主要会集在分布式Web爬虫的技术和功能实现的检测上。依托一台机器的网络爬虫已经不能满足用户在信息收集过程中的需求,这就推动了分布式网络爬虫技术的实现。通过构建分布式系统,可以在大数据的支持下提高网络爬虫的数据收集速度和存储性能。