欢迎光临!
若无相欠,怎会相见

我对爬虫爬取链接原理的理解

树形图

上图是我在学习的过程中保存下来的树形图,现在就用这张图片,来演示我对爬虫爬取链接的原理的理解。

深度优先

记得在大一下期的时候,有一门课叫《数据结构》,现在说的就是其中的深度遍历算法。当然,本文中的并不是二叉树,因为网站的一个页面是不可能只有两个链接的,一个网站的一个页面,少的时候,可以没有链接,多的时候,几百上千都有可能。

如果是深度优先输出,那么上图中的输出为:A、B、D、E、I、C、F、G、H。这个输出结果可以使用递归算法得出。

我对它的理解是,深度优先就是先一直往下挖。就是在一个页面即A找到第一个链接即B后,直接跳转,进入B页面,再找到这个页面的第一个链接即D,进入D页面,找到所有链接。。。。。一直向下循环。

广度优先

广度优先输出结果为(还是以上图为例):A、B、C、D、E、F、G、H、I。这个输出结果可以使用队列实现。

我对它的理解是,广度优先就是先把一个页面的链接全部找到后,以上图为例,在A页面找到了B、C链接,然后进入B页面,找到D、E,但是我们不继续向下找了,反而进入C页面,找到C页面的全部链接,就是这样查找。

我的理解

我可以把我的理解比喻成挖地下室,当然只是我的理想的理解,不要与现实进行对比。

假如我挖地下室,需要挖5层。对深度优先的理解可以这样解释,我先把地点选好,然后我把升降机需要的地方搭好,直接把5层地下室需要的深度全部挖好,然后,我在挖这几层的广度。

对广度优先的理解可以这样解释,我先把第一层挖好,然后在挖第二层,一次类推。

以上只是本人的拙见,如有错误,敬请指出。

赞(0) 打赏
转载请注明:飘零博客 » 我对爬虫爬取链接原理的理解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

欢迎光临