zoukankan
html css js c++ java
关于深度优先和广度优先
在爬虫系统中,待抓取URL队列是很重要的一部分,待抓取URL队列中的URL以什么样的顺序排队列也是一个很重要的问题,因为这涉及到先抓取哪个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略。下面是常用的两种策略:深度优先、广度优先
scrapy框架默认的是深度优先算法
深度优先与广度优先算法避免爬虫运行的时候,需要返回造成数据重复
深度优先
这里是深度优先,所以这里的爬取的顺序式:
A-B-D-E-I-C-F-G-H (递归实现)
深度优先算法代码实现(伪代码):
广度优先:
广度优先,有人也叫宽度优先,是指将新下载网页发现的链接直接插入到待抓取URL队列的末尾,也就是指网络爬虫会先抓取起始页中的所有网页,然后在选择其中的一个连接网页,继续抓取在此网页中链接的所有网页,通过下图进行理解:
还是以这个图为例子,广度优先的爬取顺序为:
A-B-C-D-E-F-G-H-I (队列实现)
广度优先代码的实现(伪代码):
查看全文
相关阅读:
重装fedora17之后的一些配置
virtualbox中安装3D支持
Win8下Qualcomm Atheros AR9285网卡改mac
Android应用【世界杯知识答题】的界面设计经验
Android应用【世界杯风云2010】的界面设计经验小结
html基础知识层级选择器
html基础知识,两种引入css样式方式
html结构伪类选择器
html基础知识表格标签(form,input)
html基础知识(三种颜色写法)
原文地址:https://www.cnblogs.com/cjj-zyj/p/10036771.html
最新文章
英语基本语法(三)代词
SICP 第一章 构造过程抽象
英语基本语法(一)——名词
英语基本语法(四)数量词
Nvarchar,varchar,Nchar,Nvarchar 类型简述
英语基础语法(五)形容词、副词
js 中的类型细节
Net 常用代码
字符表示
say goodbye to my visual studio 2010 and my code
热门文章
IE6中absolute定位的对象消失了!
英语基本语法(二)冠词
SICP 之斐波那契数
英语基础语法(七)动词
NASM中的org
为macchanger更新oui.lixt
通过PEB枚举进程中所有模块
在头文件中定义全局变量
fedora17下安装VMware(失败)
命令行中重新打印每一行
Copyright © 2011-2022 走看看