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 (队列实现)
广度优先代码的实现(伪代码):
查看全文
相关阅读:
jsp分页原理
解决PowerDesigner 错误:Invalid repository user or password!
JSP禁用缓存常用方法
PowerDesigner 15破解补丁
PowerDesigner建立与数据库的连接,以便生成数据库和从数据库生成到PD中。[Oracle 10G版]
二十三、Intent
axis2+spring集成
ASP.NET获取MS SQL Server安装实例
显示非站点目录图片
行为的抽象即是接口(Interface)
原文地址:https://www.cnblogs.com/cjj-zyj/p/10036771.html
最新文章
Linux tcpdump 命令详细用法
jQuery中 filter()与find()的用法
android 中 ListView 用法
DataGridView使用方法汇总
ASP.NET图片上传方法总结
php 中 split() 用法
JS (javascript) 中 replace 详解
SELECT INTO 与 INSERT INTO SELECT 复制表的两种sql语句
AjaxForm与AjaxSubmit的差异
servlet+json+ajax集成
热门文章
移动网页设计规范
jQuery Mobile入门
oracle 分页
Filter介绍,执行顺序,实例
PowerDesigner将PDM导出生成WORD文档
oracle decode用法
socket案例二
oracle数据重复,只取一条
jQuery Select的操作集合
Myeclipse6.0安装svn插件
Copyright © 2011-2022 走看看