Scrapy框架下分布式网络爬虫数据采集算法仿真.pdf
《Scrapy框架下分布式网络爬虫数据采集算法仿真.pdf》由会员分享,可在线阅读,更多相关《Scrapy框架下分布式网络爬虫数据采集算法仿真.pdf(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(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Scrapy 框架 分布式 网络 爬虫 数据 采集 算法 仿真
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。