基于网络爬虫的智能挖掘技术研究

2022-07-08 03:31刘正华周杰枫窦崎
电子技术与软件工程 2022年8期
关键词:爬虫线程网页

刘正华 周杰枫 窦崎

(四川省烟草公司眉山市公司 四川省眉山市 620020)

网络爬虫作为搜索引擎系统中的核心内容,可以针对互联网系统内的底层组织进行直接信息调取和信息处理,可以立足于根本层面对互联网系统相关数据信息更新进行直接影响。立足于结构角度分析,网络爬虫作为某种辅助性的检索手段,拥有固定的信息抓取规则,能够针对各种分布密集信息数据实施定向链接,基于搜索引擎系统下,按照明确标准自动生成索引信息,借助有效措施扩展用户信息查询效率,扩大数据储备。

1 网络爬虫技术分析

1.1 技术简介

网络爬虫技术同时也别称作网络蜘蛛技术,或可以将其称作是网络机器人。网络爬虫技术主要是搜索引擎通过万维网中对相关网页信息进行高效下载,并进一步顺着网页链接于对应网络系统内采集信息,属于一种功能强大的信息自动采集程序,在整个搜索引擎系统中发挥着重要作用,是系统内的核心部件。

网络爬虫技术主要包括信息存储、信息处理以及数据采集等基础功能。传统模式下的网络爬虫技术通常需要合理设置目标爬取页面,可以是一个或是多个页面,实施采集抽取环节中,如果遇到全新页面,需要将其融入待爬序列当中,直到达到目标条件后才能停止信息抓取。系统整个信息爬取过程相对复杂和繁琐,其中存在以下注意事项,第一是针对目标采集内容实施全面筛选,过滤其中无用信息,第二是将各种新型链接自动抓取引入待抓取对对应目标序列当中。第三是对网页链接进行持续抓取,直到满足基础条件便可以停止。系统结束爬取工作后,需要及时存储所抓取信息,同时按照预先设定标准针对采集信息实施二次过滤,筛选出和目标主题较为接近,同时具有密切联系的信息数据进行系统分析。针对全部爬取信息合理创建目标索引,方便后期类似主题内容进行有效查询和借鉴,全面优化信息爬取效率。网络爬虫技术的主要价值功能便是可以提升互联网系统的操作便利性和信息采集便捷性,方便人为操作,能够自动提取各种精准、完善信息数据,优化用户操作体验。

网络爬虫技术支持下的搜索引擎系统属于一种较为常用的信息检索手段和数据查询工具,为新时期人们各种网络体验提供更大便利。在现代化背景下,互联网技术持续创新发展,数据存储形式呈现出多样化特征,数据存储方式更为丰富,例如视频、音频以及图片等媒体信息。在网络时代下,广大网络用户自身需求也呈现出一种多元化发展特征,各个知识层次和行业领域的不同用户拥有不同检索要求和检索目标。为了进一步提升网络信息检索效率,提升智能检索水平,需要针对智能挖掘技术不断创新设计。

1.2 技术原理

网络爬虫技术下,可以按照最初的URL 目标序列,对网络中各种信息以及相关链接进行有选择地探索访问,顺利得到所需信息数据。在应用网络爬虫技术实施信息抓取过程中,需要按照关联性算法和分析措施对那些和目标不符的信息户数实施有效过滤,筛选出有用信息和链接,保留和目标相符的链接存储至待下载列表内,同时其能够按照相关搜索原则和搜索策略在整个序列内对下一目标抓取链接进行合理选择,重复相关操作,直到满足基础条件便可以停止筛选和提取,比如在URL 目标列表变空状态下。网络爬虫一般组成结构如图1 所示。

图1: 网络爬虫一般结构

1.3 设计目标

一个网络爬虫普遍包括存储管理、URL 排序、分类器、分析装置、抓取器等部分组成。其中信息抓取器主要按照待下载列表内网页地址,通过网络下载相关信息页面,并存储至网页信息库内。页面解析模块会率先处理半结构化系统内代码,对其数据结构进行不同形式转化,随后继续下一环节解析。分类器作为网络爬虫技术中的重要组成部分,需要用户率先提供某些可以进行目标定义的数据信息,随后通过系统按照用户提供信息创建分类模型,普遍可以借助领域专家以及各种成熟算法合理定义主题域。在初步创建分离器后,便可以针对网页中的提取信息内容实施综合评价和准确判断。

URL 排序列表作为网络爬虫中的重要内容,同时也是系统爬行算法核心。分析器在针对所下载网页进行解析,得到全新目标链接,并针对其中各种链接实施优先级排序,明确下一环节下载目标页面信息,按照优先级先后顺序将各种URL 插入待下载目标列表内,为此需要针对爬行优先级进行合理设计,其关系到抓取器所抓取信息内容的关联性,良好抓取策略能够帮助抓取器下载更多和目标主题关联内容,同时可以进一步减少爬虫抓取无用信息和不相关页面的分析资源消耗,由此能够看出爬行策略对于网络爬虫技术重要作用。

信息储存管理环节中需要科学处理爬行过程所形成信息数据,结束信息抓取后,需要将网页内所提取链接信息等及时进行本地存储,因为整体信息规模较大,需要设计专业数据库综合管理相关信息数据。除此之外,由于各个网络站点之间存在大量重复性信息,所抓取网页内同时存在各种重复性内容,是实施数据存储管理中,需要针对目标网页实施综合排重。

1.4 关键技术

网络爬虫技术涉及网络信息挖掘、自然语言处理、机器学习以及信息检索等多种研究领域,相关理论基础包括概率统计、人工智能、信息检索等专业理论。此外,网络爬虫技术同时涵盖各种新型网络处理技术,比如其中具有典型代表性的超链接分析技术,其涵盖抓取目标信息描述以及URL搜索策略等内容。当下网络爬虫关于抓取目标描述可以进一步细分成领域概念、目标数据形式以及网页特征等形式,其中网页特征内涵盖相关内容特征以及链接结构特征。按照目标网页特征实施网络爬虫抓取、存储,创建对象索引。对应种子样本采集形式包括下列几种形式,第一是对初始种子抓取样本进行提前设定。第二是针对网页分类目录以及所需分类目录分别给定对应中资样本,像是YAHOO 对应分类结构。第三是联系用户行为合理确定目标抓取样例,像是用户浏览阶段将抓取样本全面标注出出来,并借助用户日志挖掘的关联样本以及访问模式。以目标数据模式为基础的网络爬虫主要目标对象是网页中各种信息数据,对应抓取信息数据需要满足相应模式要求,同时具备良好可转化性,进一步映射成目标数据模式。以领域为基础的网络爬虫相关目标领域词典以及本体创建,能够在语义角下对各个特征重要性进行准确分析。网络爬虫主要目的便是在有限时间范围内通过少量资源消耗得到更多相关信息。网络爬虫搜索策略可以分为URL 排序策略以及网页分析算法,这也是实现相关目标的核心问题。通常情况下,网络爬虫搜索策略具体可以分成下列几种形式,分别是广度优先策略和深度优先策略,借助启发式搜索以及自动化分类搜索进行操作。抓取目标定义和URL 对应搜索策略存在一定内在联系,而在抓取目标初期定义以及综合描述中直接决定怎样对搜索策略进行制定,对应搜索策略直接决定网络爬虫对应网页抓取行为,明确了搜索引擎对应服务模式。

2 基于网络爬虫的智能挖掘技术分析

2.1 系统设计

网络爬虫技术是网络信息采集、检索的重要手段与核心工具,主要负责各个目标网页的信息采集、信息提取、抽取超链接、关联性评价、文本索引以及文本存储等内容。网络爬虫相关设计原则主要包括以下内容,第一是关联性,结合用户的目标信息需求,系统程序能够对相关数据信息实施合理分析,针对所采集网页信息做好关联评估,及时抽取和目标内容具有较高关联性的内容,将那些不关联内容及时抛弃,方便从最大程度上迎合用户发展需求。第二是多线程,结合网络内各种问题隐患分析,为了全面优化系统运行效率,针对不同内容需要选择不同程序实施有效下载处理,对应下载模块和分析模块分别采用针对性线程处理策略。借助多线程可以对优先级下载实施合理控制,针对超时下载的超链接,可以直接停止下载,或再次进行重新下载,借助多线程手段可以全面优化线程效率,控制下载时间。第三是资源占用率,作为一种优质后台执行模块,网络爬虫技术需要尽量节约计算机系统资源,因为网络爬虫存在多种模块和大量线程,为此需要对相关体系结构实施合理设计,如此才能确保整个程序尽量少占CPU 和系统内存,不然便会影响整个系统的运行效率。第四是模块可定制,在整个系统内,网络爬虫涵盖多种模块,为方便系统后续更新,需要针对系统不同模块实施科学定制,对外提供定义完整接口。

网络爬虫系统通过网络渠道采集和目标相关的网络页面,并开展系统存储、分析以及索引。系统按照各个用户预期设定配置,能够对不同主题关联网页进行单独采集。比如其中部分线程可能专门负责对和经济相关网络信息进行采集,而其他线程负责对和美术相关网络信息进行专门采集。此外,整个系统能够为用户提供基础接口,用于对所采集网页信息进行有效浏览和查询。

按照整个系统架构分析,网络爬虫支持的智能挖掘系统可以进一步分成用户接口、核心层以及基础层三种层次。对应系统核心元件全部分布于核心层,涵盖多线程调度元件、检索元件、网页解析系统、网页下载系统、调度模块以及种子选择模块。下面将系统介绍核心层内不同模块基础功能,种子筛选模块需要按照目标指定主题对初始链接序列进行合理选择,充当种子,并从相关超链接入手实施全面下载,调度模块即针对所采集URL 进行科学处理,随后挑选适合URL 进行下载。网页下载模块需要按照目标超链接地址进行网页下载,网页解析模块可以针对所采集网页实施科学分析,提取正文标题、文本以及URL 链接等内容,计算所提取信息和目标主题的关联性。检索模块负责对用户所提出的查询请求进行有效处理。多线程调度模块能够针对不同线程同步以及调度进行综合管理。基础层具体分成两部分,即储存系统以及基础运行库,而基础运行库负责对系统所用各种开源工具以及开源库进行有效处理。存储模块内同时对各种数据库相关操作进行有效封装,如此系统只需借助对应存储模块提供接口便可以实施各项操作,无需考虑数据库实际操作和实现形式。用户接口涵盖系统设置、网页检索、索引维护、进程监控以及任务管理等部分,系统设置模块针对系统提供相应的设置接口,用户可以联系自身不同需求实施合理设置,同时可以直观掌握系统运行状况。

2.2 线程管理

多线程调度属于网络爬虫系统核心,基于网络爬虫的智能挖掘系统正式运行后,会创建特定数量下载线程,在尚未制定采集任务条件下,线程一直保持某种挂起状态。到出现新型下载任务后,程序对应主线程会对种子选择模块进行综合调用,按照用户给定主题合理创建预选种子序列,随后将对应序列充当超链接调度进行传输。核心程序会按照所得种子序列创建相应线程,顺利完成相关网页下载。各个线程分别在调度序列内提取相应URL 地址充当网页下载模块对应参数进行网页下载,随后针对所下载网页实施合理解析,解析环节涵盖提取网页URL 链接、网页信息内容以及计算网页内容关联性等,最后在对应数据库内合理存储所采集信息,继续开始全新循环,直到任务顺利实现。

结合相关线程操作流程,能够进一步发现核心程序内多种线程会同步访问等待序列,同时在网页解析顺利输出后访问数据库。为此需要借助有效的同步机制对多线程同步访问数据库和等待序列进行有效控制,确保相同URL 只需实施一次处理,数据库内相关数据信息需要维持良好完整性和一致性,把数据库以及等待序列当成某种可访问信息资源,便可以借助同步机制针对相关资源的一致性访问。网页下载模块相关功能是按照预期设计URL 链接进行页面下载。在下载模块顺利得到URL 链接后,可以借助基础协议来远程访问网络服务器,开始网页下载前得到头文件,涵盖字符集编码、信息类型以及服务响应状态等。利用相关信息能够进一步确定是否需要进行网页下载操作,合理利用下载网页实施统一编码。在利用远程网络服务器下载各种信息资源过程中,对应下载时间普遍会受到服务器作业紧张度、用户机器配置以及网络速度等多种元素的影响,网页下载环节容易遇到某些故障问题。为此在系统实现中,选择多线程策略,合理创建多种下载实例,顺利实现等待序列网页下载,各个线程全部属于独立运行过程,能够支持网页独立下载。此外,在其中某一网页出现下载失败问题后,线程便会立刻进行下一网页下载。

2.3 URL调度

怎样为线程进行URL 下载分配,以及怎样对各个线程获取目标信息进行科学处理才能实现快速下载属于URL 调度主要目标。下载任务调度模块属于实现多线程和多任务网络爬虫的核心模块,此模块主要涵盖任务目标集合管理以及种子选择。网络爬虫技术开始实践操作后,需要率先按照用户指定目标对种子任务进行合理选择,随后下载种子目标任务对应网页信息,做好下载网页的链接提取、信息预处理以及数据解析等处理操作。针对URL 管理就具体涵盖过滤、维持下载信息,构建全新URL 集合,并为各个下载线程分配全新URL。

对种子URL 实施合理选择,针对指定目标主题,网络爬虫需要进一步明确从哪些目标任务信息开始采集,为此可以利用两种方式进行采集,第一是通过用户提前指定目标采集任务集合,这也是用户最为关心的内容,也是和主题关联度最高网页地质,假如用户尚未指定目标任务集合,系统可以选择元搜索引擎手段。借助元搜索手段具有良好应用优势,多种搜索引擎最终采集信息结果拥有良好互补性,初步评估了搜索结果关联性后。不同搜索引擎所用排序算法以及采集算法存在较大差异,针对最终结果集实施综合评价分析能够帮助获得某种客观性种子集合。在URL 集合管理中,针对不同阶段呈现出不同发展状态,按照对应所处状态,可以针对URL 实施合理分类,为了对不同类型URL 实施科学描述,针对相关状态实施初步定义。为顺利实现多项任务同步采集,各个任务需要单独维护单独队列。各个任务采集目标的存储和管理互相独立,如此各个采集任务对应线程只需访问特定任务目标序列即可,如此能够优化线程并行度,提升查询效率。

2.4 数据存储

不管采集内容是网页或是相关提取数据信息,都需要按照标准格式进行有效存储,相关共同主要通过存储模块实现。数据物理组织形式方案,在创建不同数据库过程中,可以进一步联系数据特征对存储结构进行合理选择,为方便对网页各项数据信息进行有效存储,系统对数据类型对应数据结构进行了科学定义,并对相关字段实施合理封装。为方便信息采集处理和分析,需要合理设计内容存储表格,具体如表1所示。

表 1:页面信息数据存储表

在信息数据挖掘后的存储环节中,需要针对不同网页分配唯一ID 标识,同时将网页对应URL 充当KEY,将ID 标识当成数据,在网页标识表内合理添加相关信息记录,随后将对应ID 当做KEY,通过数据类型对应不同项充当数据在对应内容记录表内加入新型记录。为方便网络系统用户快速访问相关信息,方便用户信息查询,可以针对网络内的对应页面信息合理创建索引机制,于数据挖掘中选择倒排索引,该种方式拥有较快的查询速度,整体实现十分简单,可以支持同义词查询。

2.5 智能排序

网络爬虫技术下的相关聚类谱基于大数据最高挖掘权限优化匹配基础上,能够借助各种实现拷贝和校验的大数据信息针对整个系统层次结构进行科学布设,随后按照相应的抓取规则针对各种聚类普实施科学智能排序,确保不同结构层次挖掘数据信息得以顺畅传输。满足相关挖掘规则的网络爬虫对应聚类谱需要严格按照三层智能排序规则实施合理罗列,其中首层为信息层结构,第二是为物理层结构,第三层为应用层结构。信息层结构即网络爬虫对应聚类谱和协议栈之间的基础连接物理单元,能够在顺利承接系统驱动程序基础上,朝物理层结构顺利传输大数据信息。应用层结构属于网络爬虫对应聚类谱末端环节,能够支持邻近结构层挖掘信息数据实现顺畅传输,提升信息传输速度,达到促进单位时间内资源分配量全面扩充目标。

2.6 数据传输

进一步健全和完善系统不同层次结构之间挖掘信息的传输模式属于新型技术模型核心环节。理想状态下对应系统层次结构涵盖命令执行、数据运行传输、信息处理三种层次。对应数据信息处理层为网络爬虫对应协议栈核心依靠单元,基于该种层次结构内,各种待挖掘大数据信息全部呈现出某种散点排列形式,而基于网络爬虫TCP/IP 协议栈引导下,相关数据信息能够实现快速罗列,构成信息传输集合模式,有助于传输层进行快速调取。信息传输层属于各种智能挖掘命令的直接操作单元,处于该层结构内,大数据信息仅通过物理集合形态存在,不管其中的最高挖掘权限基础匹配条件缩减或是增加,对应信息传输层内大数据总量始终处于一种持续增加状态,可以保障系统资源分配量在单位时间内能够维持一种较高水平。命令执行层能够对不同形式大数据信息进行有效接收,随后借助数据组合排列综合调节的措施,促进智能挖掘命令顺利执行,达到预期操作效果,实现理想状态,对相关搭建原理进行全面整合,实现网络爬虫技术为基础的大数据智能挖掘技术有效应用。

3 结语

综上所述,通过系统研究网络爬虫为基础的智能挖掘技术,综合考虑网络爬虫技术的信息抓取方法、采集策略以及网络爬虫架构,在网络系统内得到所需信息后进行综合学习、分析和应用,促进智能挖掘技术实现不断创新发展,提升信息挖掘速度和信息采集准确性,支持网络爬虫技术持续优化,提升信息数据采集的实时性和精准性。满足相关用户的个性信息要求。

猜你喜欢
爬虫线程网页
利用网络爬虫技术验证房地产灰犀牛之说
基于Python的网络爬虫和反爬虫技术研究
基于CSS的网页导航栏的设计
利用爬虫技术的Geo-Gnutel la VANET流量采集
基于URL和网页类型的网页信息采集研究
大数据环境下基于python的网络爬虫技术
浅谈linux多线程协作
网页制作在英语教学中的应用
10个必知的网页设计术语
基于上下文定界的Fork/Join并行性的并发程序可达性分析*