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 (队列实现)
广度优先代码的实现(伪代码):
查看全文
相关阅读:
OI省选知识清单
FWT板子
[APIO2018]选圆圈
[APIO2018]铁人两项
[Test-1.11]-T4 Transform
[Test-1.11]-T2divisor
[Test1.11]-T3对合
[Test3.3]-T3 Sorting (卡常)
[Test1.11]-T1匹配 Matching
二、Unity调用Xcode封装方法
原文地址:https://www.cnblogs.com/cjj-zyj/p/10036771.html
最新文章
day01 每日一行
学长学姐茶话会
搭建java web开发环境
离线下载
使用微擎管理公众号
如何部署一个高性能mock服务
jmeter实现自动化压测
docker环境部署mysql
Django启动报错Did you install mysqlclient or MySQL-python
cookie和session的区别
热门文章
TCP三次握手过程
一个斐波那契数列算法
一道面试题:统计重复并排序
Python中的迭代器和生成器
Windows环境下flask+Apache+mod_wsgi部署及爬坑
论文答辩PPT
未来电脑新技术:可折叠可穿戴有触感
计算机病毒的传染机制
ES6语法
JavaScript高级04
Copyright © 2011-2022 走看看