网站大量收购独家精品文档,联系QQ:2885784924

Python爬虫大数据采集与挖掘-微课视频版-课件 第二版-4 普通爬虫体系结构.ppt

Python爬虫大数据采集与挖掘-微课视频版-课件 第二版-4 普通爬虫体系结构.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

一些比较常见的、需要爬虫处理的错误状态码有:(1)404代表“NOTFOUND”,认为网页已经失效,因此,爬虫应当删除它,同时如果爬虫再次发现这条url也不要再抓取;(2)503代表“ServiceUnavailable”,认为网页临时不可访问,通常是网站临时关闭,带宽有限等会产生这种情况。短期内反复访问几次,如果网页已恢复,则正常抓取;如果继续返回503,那么这条url仍会被认为是失效链接,从爬行任务中删除。(3)403代表“Forbidden”,认为网页目前禁止访问,这条url也应当从爬行任务中删除。(4)301代表是“MovedPermanently”,认为网页重定向至新url。当遇到站点迁移、域名更换、站点改版的情况时,使用301返回码。另一种异常是超时,在爬虫获取Web页面时可能由于服务器负荷过大,导致响应延缓,因此,需要适当考虑超时处理,否则就容易使得爬虫一直处于等待状态。这也是爬虫程序需要处理的场景异常之一。try:req=requests.get(/,timeout=1)print(req.status_code)exceptReadTimeout:#超时异常print(Timeout)exceptConnectionError:#连接异常print(Connectionerror)exceptRequestException:#请求异常print(Error)else:ifreq.status_code==200:print(访问正常!)#将爬取的网页保存在本地fb=open(t.html,wb)fb.write(req.content)fb.close()ifreq.status_code==404:print(页面不存在!)ifreq.status_code==403:print(页面禁止访问!)#...提纲普通爬虫体系结构Web服务器连接器超链接及域名提取与过滤异常处理爬行策略与实现爬虫多线程技术爬行策略,是指对爬行过程中从每个页面解析得到的超链接进行安排的方法,即按照什么样的顺序对这些超链接进行爬行。合规性及高效性爬行策略的设计需要考虑以下限制:(1)不要对Web服务器产生太大的压力这些压力主要体现在:a,与Web服务器的连接需要占用其网络带宽b,每一次页面请求,需要从硬盘读取文件c,对于动态页面,还需要脚本的执行。如果启用Session的话,对于大数据量访问需要更多的内存消耗(2)不要占用太多的客户端资源爬虫程序建立与Web服务器的网络连接时,同样也要消耗本地的网络资源和计算资源。如果太多的线程同时运行,特别是一些长时间的连接存在,或者网络连接的超时参数设置不合适,很可能导致客户端有限的网络资源消耗。互联网上的WEB页面可以抽象化为一张有向图。图的遍历就是用来解决节点的访问顺序问题。图的遍历算法有两种,即深度优先算法DFS和宽度优先算法BFS。假如从节点A开始,则按照这两种遍历方法,页面的访问顺序分别是:深度优先:A–B–F–I–C–D–G–H–J–E宽度优先:A–B–C–D–E–F–G–H–I–J按照宽度优先的策略,可以使用队列作为存储结构。按照深度优先的策略,就不能使用队列了,需要采用堆栈。Python实现DFS和BFS具有高度的对称性,因此在Python实现时,并不需要将两种数据结构分开,只需要构建一个数据结构在UrlSequenceUrl中设置的未访问序列self.unvisited可以完成出队列和栈的操作,前者通过pop(0)来实现,后者通过pop()实现。UrlSequenceUrl类存放了所有和URL序列有关的函数,维护了两个序列visited和unvisited,并实现了对URL的元素增加、删除、计数等操作,可以为爬虫的其他模块提供完整的封装,具体实现时选择一种遍历方式即可。PageRank重要性排序每个网站都有一个首页,从链接的角度来看,首页的最主要特征就是链接数量大。在大规模分布式的情况下。分布式系统中每个机器的性能好坏不一,设计者总是希望把重要页面的爬行分配给性能好的机器,以提高爬虫的整体性能,因此,就需要有一种方法来量化页面的重要性。PageRank算法是一个经典算法,出身于google有哪些信誉好的足球投注网站引擎,是一种根据网页之间相互的超链接计算页面级别的方法。它由LarryPage和SergeyBrin在20世纪90年代后期发明。由

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档