网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)

时间:2020-12-13 16:40:35

                     网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)在实际项目中,我们使用爬虫遍历互联网,把网络中相关的网页全部抓取过来,这也体现了爬虫的特点。爬虫爬行的过程是这样子的:网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)互联网中每一个页面看作是一个节点,页面中的链接可以看成图的有向边。所以能用遍历的方式对互联网进行访问。

       网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦) 一提到图的遍历,很容易就是宽度优先遍历深度优先遍历

       网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)但是深度优先遍历可能会在深度上过深地遍历或者陷入黑洞,大部分爬虫不采用这种方式。但是宽度优先遍历也不是完全的宽度优先,而是采用对宽度优先的网页赋予一定的优先级。也就是通常我们说的带有偏好的宽度遍历。

                                网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)图的宽度优先网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)

           简述:图的宽度优先遍历(BFS)算法是一个分层搜索的过程,和树的层序遍历算法相同,在图中选中一个节点,作为起始点,然后按照层次遍历的方式,一层一层访问。

           思想:(1)节点A入队

                 (2)当队列非空时候继续入队

                 (3)队满,出队列,获得头节点A,访问A,并标记A已经被访问了

                 (4)查找顶点A的第一个邻接节点A1

                  (5)如果A1没有访问过,进队

                  (6)继续查找A的其他邻接节点,转(5)继续,如果所有邻接节点都访问过了,转(2)

          接下来举个例子,来源于自己动手写爬虫这本书,实际上,我的文章也是这本书的个人心得而已,大家都是学习的菜鸟网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)

           网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)

  遍历过程如下:

                          操作                                      队列元素                  
                         初始                        空
                        A入队                        A
                       A出队                       空
                   BCDEF入队                     BCDEF
                      B出队                      CDEF
                      C出队                DEF
                     D出队                   EF
                    E出队                             F
                   H入队                          FH
                   F出队                            H
                    G入队                            HG
                      H出队                           G
                     I入队                           GI
                    G出队                            I
                      I出队                      空

        网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)总结:在表1.2所示的遍历过程,出队列的节点顺序既是图的宽度优先遍历的访问顺序,由此可以看出,图1.3所示的宽度优先遍历顺序为:A-〉B-〉C-〉D-〉E-〉F-〉H-〉G-〉I 。这里是一个基础,我们做什么事情都要从基础做起嘛,不能心急网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)