• 爬虫与Python:(一)网络爬虫概念篇——4.爬虫策略


    在实际的爬虫项目开发过程中,对待抓取的URL列表的设计时很重要的一部分。很多时候,顺序很重要,比如:伦理道德上讲究长幼有序;对应URL,要先抓取哪一个页面呢?对于决定这些URL顺序的方法,成为抓取策略。

    接下来介绍几种常见的抓取策略:深度优先遍历策略度优先遍历策略、大站优先策略最佳优先搜索策略

    深度优先遍历策略

    深度优先策略和广度优先策略相对。

    定义:深度优先遍历策略是指爬虫从起始页开始,一个链接一个链接的跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。

     上图中,依据深度优先遍历策略顺序为:A→B→D→I→C→E→G→F→H。

    宽度优先遍历策略

    宽度优先策略的基本思路是:将新下载网页中发现的链接直接插入到待抓取URL对列中的末尾。也就是说,网页爬虫首先会抓取起始网页链接中的所有网页,然后选择其中一个网页,继续抓取此网页链接中的所有网页。

    使用宽度优先遍历策略的话,同样的网页,抓取顺序为:A→B→C→D→E→F→I→G→H。

    大站优先策略

    定义:以网站单位来进行主题选择,确定优先性,对于待爬取URL队列中的网页,根据所属网站归类,如果那个网站等待下载页面最多,则优先下载这些链接。

    关键点:判断待下载页面的多少。

    本质:倾向于下载大型网站,因为大型网站往往包含更多的页面。

    原因:鉴于大型网站往往是著名企业的内容,其网页质量一般较高。

    实验表明,这个算法效果也要略优于宽度优先遍历策略。

    最佳优先搜索策略

    定义:按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或机构URL进行抓取。它只访问经过网页分析算法认为“有用”的网页。

    关键点:访问经过分析,认为“有用”的网页。

    不足:在爬虫抓取路径上的很多相关网页可能被忽略,因为最佳优先策略是一种足部最优搜索算法。因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点。

  • 相关阅读:
    a Makefile
    Fedora的一些个人配置
    开机默认命令行
    挂载iso文件
    Vi不显示insert
    beego 框架基本使用 && 知识点整理
    kafka的安装及使用(单节点)
    Go 实现短 url 项目
    晓看天色暮看云,铁马冰河入梦来
    Go net/http,web server
  • 原文地址:https://www.cnblogs.com/luyj00436/p/15269358.html
Copyright © 2020-2023  润新知