Scrapy学习——深度优先和广度优先

2017-08-16  本文已影响0人  旅行路上的吕行

爬取的过程

爬取网站前首先要对其网站的url结构进行分析,遇到已经爬取过的网址会将其加入已经爬取的列表中,避免重复爬取。
Scrapy是基于第归算法实现的深度优先算法爬取数据

eg

def level_queue(root):
         if root is None:
              return
         my_queue.append(node)
         while my_queue:
               node = my_queue.pop(0)
               print (node.elem)
               if node.lchild is not None:
                    my_queue.append(node.lchild)
               if node.rchlid is not None:
                    my_queue.append(node.rchild)    

爬虫去重策略

如果网页的url有个,每个大约50个字符的话大概占用1000000002btye50/1024/1024 = 9g内存

如果采取bitmap的方法,1亿的url也就大约12mb的内存占用

上一篇 下一篇

猜你喜欢

热点阅读