收藏 分销(赏)

Scrapy框架下分布式网络爬虫数据采集算法仿真.pdf

上传人:自信****多点 文档编号:521086 上传时间:2023-11-06 格式:PDF 页数:5 大小:3.07MB
下载 相关 举报
Scrapy框架下分布式网络爬虫数据采集算法仿真.pdf_第1页
第1页 / 共5页
Scrapy框架下分布式网络爬虫数据采集算法仿真.pdf_第2页
第2页 / 共5页
Scrapy框架下分布式网络爬虫数据采集算法仿真.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、504S第40 卷第6 期2023年6 月真机计仿算文章编号:10 0 6-9348(2 0 2 3)0 6-0 50 4-0 5crapy框架下分布式网络爬虫数据采集算法仿真刘多林,吕名苗(沈阳理工大学,辽宁沈阳110 159)摘要:为提高数据采集速度、避免重复采集,提出Scrapy框架下分布式网络爬虫数据采集算法。利用搜索引擎、调度器、下载器、数据解析等模块建立Scrapy框架,明确爬虫体系内包括分布式计算与储存两部分;为确保爬虫过程负载均衡,将爬虫速度作为评价指标,计算节点权重;使用蚁群优化算法,采用伪随机规则,获取智能体的网页转移概率,确定爬取路径,更新每条路径的信息素浓度,根据目标函

2、数距离选取目标解;综合分析数据特征向量,计算链接的主题相似度,将相似度较高的链接放入待爬取集合中,得出数据间的重合度影响因子,避免重复采集,当信息素浓度降到最低时停止爬虫操作,完成采集工作。仿真结果证明,所提方法爬准率与爬全率较高,可提升数据采集速度。关键词:分布式系统;网络爬虫;数据采集;节点权重中图分类号:TP301文献标识码:BSimulation of Distributed Web Crawler Data CollectionAlgorithm under Scrapy FrameworkLIU Duo-lin,LV Miao(College of Economy and Mana

3、gement,Shenyang Ligong University,Shenyang Liaoning 110159,China)ABSTRACT:In order to accelerate data collection and avoid repeated collection,this paper puts forward an algorithmfor distributed web crawler data collection under the framework of Scrapy.Firstly,we used the modules such as searchengin

4、e,scheduler,downloader and data analyzer to construct the Scrapy framework.And we found that the crawlersystem included two parts:distributed computing and storage.In order to ensure the crawling load balance,we tookthe crawler speed as an evaluation index to calculate the node weight.Secondly,we us

5、ed the ant colony optimizationalgorithm and pseudo-random rule to obtain the web page transfer probability of the agent,thus determining the craw-ling path and updating the pheromone concentration of each path.According to the distance of the objective function,we selected the target solution.Furthe

6、rmore,we comprehensively analyzed the data feature vector and calculated thesubject similarity of links.And then we put the links with high similarity into the set that needed to be crawled,andthus to obtain the influence factors of the coincidence degree between data.In this way,we avoided repeated

7、 data col-lection.When the pheromone concentration decreased to the lowest,we stopped crawling.Finally,we completed thedata collection.The simulation result proves that the proposed method has a higher precision and recall ratio,whichcan accelerate the data collection.KEYWORDS:Distributed system;Web

8、 crawler;Data collection;Node weight1引言现阶段,大数据逐渐呈爆炸式增长趋势,虽然为各行业发展提供了契机,但是也为信息采集造成困难。如何确保用基金项目:2 0 2 1年辽宁省教育厅高等学校基本科研项目(面上重点项目)(LJKR0114)收稿日期:2 0 2 1-0 9-2 3户准确高效地获取感兴趣的信息,是信息技术领域面临的最大困难。网络爬虫技术的高自动化程度、强扩展性等优势,很好地解决了待采集数据量大、信息杂乱的问题,该方法的实质是遵守制定好的规则,从网页中提取相关数据的程序,最初被应用在搜索引擎中,现逐渐应用在数据采集挖掘工作中。例如,刘景发等人提出基于

9、网页空间进化的爬虫策略。以计算测试链接和种子链接之间的最短距离,与链接库中全部505链接的平均距离作对比,不断更新链接库;对于多目标优化中最佳解选择问题,提出最近最远候选解法,结合候选解确定爬虫路线。杨宇2 等人将深度优先策略当作爬虫方式,设计数据采集方法。利用词元字符串相似度矩阵提高检索列表匹配的准确性,在决策树模式下进行数据识别与采集。由于数据采集数量的不确定性和爬虫节点性能差异,上述方法容易出现数据采集重复现象,增加系统内存。为解决这一问题,本文在Scrapy架构3 下设计一种分布式网络爬虫数据采集算法。Scrapy是在Twisted异步网络库基础上开发的爬虫框架,在数据采集、挖掘等方面

10、具有较高的使用率。此架构中的所有组件均为可插拔的,用户能结合自身需求对组件重新开发,实现高效爬虫。此外,分布式网络爬虫能够将大量任务分解为小任务,再对小任务做合并处理,最终完成所有任务,具有较强的协作互联能力和处理效率。2Scrapy框架下分布式网络爬虫数据采集2.1基于Scrapy框架的网络爬虫体系结构设计Scrapy架构包括引擎4、调度器、下载器、数据分析与数据管道五方面构成。本文建立的Scrapy架构如图1所示。数据采集模块数据管道数据解析中心引擎子模块子模块调度器子模块下载器集群子模块抓取远程网页请求响应数据图1Scrapy架构示意图1)中心引擎:主要工作是管理全部网络数据流向,每一次

11、的采集工作都必须经过此模块分析,因此在整个架构中占据关键地位,如果该模块失效,则爬虫操作将无法完成。2)调度器:接收来自中心引擎发出的爬虫任务,同时将该任务放人爬取队伍中,当中心引擎发出任务请求时,从队列中选出此任务。这一模块的主要目的是分类管控爬取任务。3)下载器:支持网页下载,通过异步形式构建和服务器之间的连接桥梁,程序无需始终等待服务器的响应,可先执行其它任务,等获取响应后,再做相应处理。4)数据解析:是开发者编写的爬虫程序,主要工作是解析下载器传输来的代码,可以同时对应很多程序,且任意一个程序都能解析与其对应的网站。5)数据管道:对上一模块中的数据做深度处理,包括编码转换、清洗与持久化

12、等。在上述构建的Scrapy架构下,设计分布式网络爬虫的体系结构。架构的最下层将分布式平台作为支撑,上层为爬虫的不同模块,通过分布式集群实现网页数据的保存与计算5。原则上这两部分是无法分割的,但为了逻辑清晰,需分别分析。爬虫体系整体架构如图2 所示。分布式计算数据初始抓取列并行数据化处理表生成抓取更新CrawIDBLinkDBSegment分布式储存图2Scrapy框架下爬虫体系架构2.2爬虫节点权重计算在Scrapy架构下,为保证爬虫整体负载均衡6 ,需要结合每个节点的权重制定爬虫策略。影响负载均衡的因素较多,但最主要的是对采集速度的影响,因此,将节点一定时间内执行的任务数量作为判断节点性能

13、的指标。如果某节点在t分钟内执行了n个抓取任务,则此爬虫节点在的采集速度表示为n(1)三t式中,随t与n值的增大,该比值会更加平稳,此时采集速度的变化将不能通过公式表达。为此,引人滑动窗口概念,仅统计近k分钟内的抓取任务数量。假设n,表示近i分钟的抓取任务数量,则权值表达式如下n;i=1W=(2)K实际爬虫过程中,调度器分发的速度非常快,在分发任务时,需要设定任务分发量阈值,当超出该值后不再分发。这不仅可以确保任何节点时刻均为工作状态,还能使调度器结合采集速度进行相应的任务调整。2.3基于蚁群优化的爬虫数据采集实现2.3.1蚁群优化算法的重要因素确定本文使用蚁群优化算法在Scrapy架构的基础

14、上实现数据采集,此方法借鉴了蚂蚁觅食过程,属于一种全局寻优算法,算法本质是利用蚁群获取优化问题的最佳解,同时产生一定信息素7 。在多次优化操作中,蚂蚁会找出最佳路径,即最优解。在蚁群算法中路径构建、信息素更新与目标解的选择是影响算法性能的主要因素。1)路径构建针对智能体K,如果在t时间点时,其所处网页是P,若P,中存在某链接指向网页P,则位于P,的蚁群将结合某条件判断是否由P,运动至Pj。假定P,内全部链接指向的新网页集合表示为V,使用伪随机比例相关规则获取智能体K506由当前页面P,跳转到P,的几率,伪随机规则表达式为T;(t)ugB,P,EVP(t)(3)l(i.j)eEo,其他式中,p(

15、t)表示智能体K在时间点t上选取网页P,当作爬取目标的几率,T,(t)代表从网页P,运动到P,链接Iij)上的信息素总量,,描述启发式信息,也就是链接I(i,j)与网页P,之间主题相关度的加权求和值。与分别代表信息素与启发信息的关键性参数,E是全部由P,到P,的对应链接集合8 2)信息素实时更新在蚁群优化过程中,智能体在每个周期内都会更新全部路径中的信息素,每条路径中的信息素浓度也会逐渐降低。由网页P,到P,的链接l(i,j)中的信息素更新表达式为T(t+1)=(1-p)T,(t)+T(t)(4)k=1式中,p(0p1)表示信息素蒸发率,T,是智能体K在t时间点由网页P,到P,所到达的链接l(

16、i,j)上产生的信息素值,表示为C/D,其中C是P,主题相关度9,D则代表路径长度。3目标解选取针对蚁群优化方法得到的每组p个最佳链接,通过快速非支配排列方式与最近最远候选解方法,挑选出q(qp)个链接添加在集合中,引导爬虫方向。计算某两个解X,与Xy的目标函数距离10 (F(X,)-F(X)2mDis(Xs,Xy)=(5)式中,F(X,)与F(X)分别代表Xs、X 的第i个目标函数值。本文使用一个队列CQ保存全部非支配解,再通过最近最远候选解算法从CQ中挑选一组链接,将其指向的页面当作下个周期的原始爬取节点。2.3.2爬虫策略设计1)主题相似度计算在基于蚁群优化的爬虫策略制定过程中,假设有M

17、个蚂蚁,每只蚂蚁从当前页面链接中挑选下一阶段爬行网页,同时将现处页面中全部链接保存到等待队伍中。针对新加人的链接,需计算主题相关度,计算方法如下。链接指向页面中的信息一般与链接所处页面的信息具有相关性,前者是后者的相关说明。所以链接指向页面与所处页面之间的主题相关度,就是评价该链接是否和采集内容相关的重要标准。针对链接I指向页面P,利用下述公式描述文本特征向量U=(ui,uz,.,ui,un(6)则文本特征权值向量的计算公式如下(7)式中,w,代表第个主题词在P,中的权值。链接1指向的页面具有的主题相关度表示为R(P,)=Sem(T,U)(8)综上所述,获取链接主题的相似度表达式R(1)=h,

18、R(at)+h R(P)+h,R(P,)(9)式中,hi、h 与h,代表链接本身、链接所处网页以及指向网页的主题相关度权值系数,符合h,+hz+h,=1的要求。R(P)代表I所处网页具有的主题相似度。如果计算出的主题相似度高于设定阈值,将此链接指向的页面保存到集合中。反复操作上述过程,直至所有智能体均获得最大爬行深度,再利用式(4)实现信息素浓度更新。2)重合度计算为避免重复数据采集,需计算数据的重合度。概念C与C二者重合度可通过它们的公共祖先节点描述,C,与C2重合度影响因子IFc.表示为count(U,(C,)n(U,(C,)IFCoi(10)max(Depth(C,),Depth(C,)

19、式中,count(U(C,)n(U(Cz))表示C,与C,公共节点数量,max(Depth(C,),D e p t h(Cz)则代表C,与C的层次深度极大值。IFco值越大说明二者重合度越高,在爬虫过程中需要舍弃一个节点,这样能够有效避免采集到重复数据。3)爬虫数据采集步骤因此,利用蚁群优化算法实现网络爬虫数据采集的详细过程表示为:步骤一:建立本体领域,确定数据采集主体,选择适量种子链接,添加到初始链接队列中,对参数与做初始化处理,设定相关阈值n。步骤二:初始化处理所有链接的信息素浓度Co,令智能体执行爬虫任务,获得智能体K在现阶段页面P,上的全部子链接,同时做过滤处理,将处理后的子链接保存到

20、新的集合中;获取P.中主体相似度。步骤三:如果智能体K所处第T层深度时,选取一个网页当作该智能体爬取页面,此时智能体会留下信息素(t);针对链接1,将其指向的网页、锚文本与所在网页做加权求和,获得1的主题相似度。步骤四:如果1的主题相似度高于n,将1所指网页Pk添加到等待链接结合中,若Pk相似度大于m,则保存在网页集合中,反之删除l。步骤五:如果爬行深度已经是最大深度,则需清空禁忌表与初始链接队列,执行下一步骤,反之返回步骤三。步骤六:根据式(4)更新全部路径中的信息素浓度,直到信息素浓度无法指明爬取方向为止,算法结束,完成数据采集。3仿真数据分析与研究仿真中,最重要的硬件设备是主节点服务器,

21、该服务器507直接影响实验效果。为此,本文使用的服务器配置如下:内存为32 GB,硬盘是2 50 GB,带宽频率设置成10 MB/S。1)爬准率与爬全率测试爬准率与爬全率是衡量网络爬虫算法性能的常用指标。其中前者是爬虫爬取到和需采集内容有关的数据数量占比情况,后者则为爬虫爬取到和需采集内容有关的数据量,占全网络中和该采集内容有关的数据量之比。计算公式分别如下NAccuracy100%(11)GNRe call100%(12)W式中,N代表爬取到和采集内容有关的数据量,W表示网络中和该采集内容有关的数据数量,G是爬取到的总信息量。为凸显本文方法性能,将测试结果与网页空间进化爬虫策略、深度优先爬虫

22、算法进行对比,两个评价指标的对比结果分别如图3和4所示。1009080%/率联创7060本文方法网页空间进化爬虫50深度优化爬虫402000400060008000100001200014000网络整体数据量/个图3不同方法爬准率对比图1009080%/率手部7060本文方法网页空间进化爬虫50深度优化爬虫402000400060008000100001200014000整体数据量/个图4不同方法爬全率对比图由图3和4可知,本文方法始终保持95%以上的爬准率,没有出现随数据量增多爬准率下降的表征;在爬全率对比图中,所提方法随数据量增加出现并不显著的下降趋势,其它方法下降程度明显。这是因为本文方

23、法能够准确计算出网页与采集内容之间的相关度,提高爬虫爬行准确性,同时计算了每个节点权重,结合权重信息执行爬行任务,保证了爬取的全面性。2)去重效果测试图5为不同方法的去重效果对比结果。70本文方法60网页空间进化爬虫深度优化爬虫5020102000400060008000100001200014000采集总数据量/个图5不同方法去重效果对比图图5显示,三种算法随采集数据量的增多,采集到的重复数据均有所增加。但所提爬虫算法是建立在Scrapy架构下的,其中心引擎模块会对数据进行分析,有效删除重复数据,也能避免对重复数据的误判。3)爬虫速度测试对于优秀的爬虫算法而言,仅仅具备较高的爬行准确率还远远

24、不够,爬行速度是衡量算法好坏的又一重要标准。假设节点数量分别为5个和2 0 个,在这三种情况下,上述算法的爬行速度分别如图6 和7 所示14本文方法12网页空间进化爬虫深度优化爬虫1086422468101214爬虫时间/分钟图6节点数量为5个时爬虫速度对比14121080本文方法6网页空间进化爬虫深度优化爬虫422468101214爬虫时间分钟图7节点数量为2 0 时爬虫速度对比508上接第498 页)分析图6 和7 得出,随节点数量增加,爬虫速度均有提高。且无论节点数量多少,爬行速度趋势大致相同,在前8分钟时爬虫速度有不同程度起伏,8 分钟之后爬取速度逐渐平稳,表明三种方法的爬行稳定性较强

25、。其中,Scrapy架构下的爬虫算法通过蚁群方式合理设置爬行路径,提高爬虫速度,说明该方法能够在较短时间内采集更多数据。4结论互联网中的信息正以几何倍数增长,用户要想在网络中采集到想要的信息十分困难。本文提出里Scrapy架构下的分布式网络爬虫数据采集方法。通过对Scrapy各模块的设计,保证爬虫任务有序进行,再采用多目标蚁群算法,设置爬虫路径,提高爬虫效率。仿真从多角度验证了该方法性能,不但提高数据采集的精准度,还能减少采集时间,避免重复采集。在未来研究中,可结合具体需求扩展功能,设置一套完整的爬虫系统,使海量网络信息更好地服务于用户。参考文献:1文刘景发,李新,蒋盛益.基于网页空间进化算法

26、的暴雨灾害主题爬虫策略J.计算机工程,2 0 19,45(2):18 4-190.2杨宇,孙亚琴,闫志刚.网络爬虫的专题机构数据空间信息采集方法J.测绘科学,2 0 19,44(7):12 2-12 7,140.3徐庭伟,罗守贵。基于爬虫技术的城际信息流网络测度及其经济意义研究J.地域研究与开发,2 0 19,38(6):46-51.5 严严莉,张凯,徐浩,等.基于图注意力机制和Transformer的异常检测J.电子学报,2 0 2 2,50(4):90 0-90 8.6靳萍,李红志,王磊.基于时频分析的感应传输CTD数据降噪方法研究J.中国测试,2 0 2 1,47(5):2 4-32,5

27、7.7陈方林,曹怡青,王雨田,等,非线性傅里叶变换及其在光通信和超短脉冲表征领域的应用J。中国激光,2 0 2 2,49(12):2 38-257.8方斌,陈家益,石艳。基于可微收缩函数与自适应阈值的小波去噪J.光学技术,2 0 2 1,47(3):359-36 5.9郑志强,胡鑫,翁智,等.基于改进DenseNet的牛眼图像特征提取方法J计算机应用,2 0 2 1,41(9):2 7 8 0-2 7 8 4.10赖欣,曾纪炜.几何类航空数据与关系型数据库映射转换研究J.计算机科学,2 0 2 0,47(2):57 0-57 2,57 8.11蒋光峰,胡鹏程,叶桦,等。基于重构误差的同构图分类

28、模型J.计算机科学与探索,2 0 2 2,16(1):18 5-193.12林昱坤,王楠,张立福,等.独立成分分析的高光谱异常变化检测J.遥感学报,2 0 19,2 3(6):116 7-117 6.4许娟.利用爬虫技术侵犯企业数据知识产权法益的司法解释J.苏州大学学报(哲学社会科学版),2 0 2 0,41(1):47-58.5朱峰,黄群.面向智能路由的多级哈希网络数据存储结构J.电信科学,2 0 2 0,36(10):6 7-7 8.6任磊磊,周建,罗萃文,等.基于以太网的分布式数据采集与双模式管理系统J.核聚变与等离子体物理,2 0 2 0,40(1):7 2-78.7陈慧,张颖,魏晓莹

29、,等.基于LMS自适应滤波的电能计量箱数据采集与处理方法研究J电测与仪表,2 0 2 0,57(4):142-146,152.8廖伟志,夏小云,贾小军,基于蚁群算法的多路径覆盖测试数据生成J.电子学报,2 0 2 0,48(7):1330-1342.9陈琪,陈宏滨.无线传感器网络中移动节点辅助的数据采集效率优化研究J.计算机应用研究,2 0 2 0,37(11):346 7-347 1.10陈磊,吴晓晖.基于Hadoop的分布式集群大数据动态存储系统设计J.中国电子科学研究院学报,2 0 19,14(6):593-598.作者简介刘多林(197 3-),男(汉族),辽宁鞍山人,硕士,副教授,主

30、要研究领域为数据挖掘、大数据分析。吕苗(198 4-),女(汉族),陕西西安人,博士,讲师,主要研究方向:商务智能、大数据分析。13何熊熊,姜倩茹,李胜,等.结合先验知识和稀疏表示误差的感知矩阵设计J.浙江工业大学学报,2 0 2 0,48(4):36 7-374.14毛朝阳,李岚,魏伟.基于迁移学习的感知矩阵优化方法J.激光与光电子学进展,2 0 2 1,58(14):30 4-30 9.15轩华,王薛苑,李冰.带批和离散机柔性流水车间问题的混合异步次梯度优化的拉格朗日松弛算法J.计算机集成制造系统,2 0 2 0,2 6(4):10 0 1-10 10.作者简介陈滢生(198 2-),女(汉族),重庆人,硕士,副教授,主要研究领域为计算机应用技术、数据挖掘机应用等。周宪章(197 5-),男(汉族),重庆市垫江县人,硕士,高级教师,主要研究方向为软件系统分析与设计、职业教育与管理等。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服