《自己动手写网络爬虫》读书笔记——队列与集合

队列:

  在爬虫程序中, 用到了广度优先搜索(BFS)算法. 这个算法用到的数据结构就是队列。

  在python中提供了collection.deque用来实现了queue的相关操作,其官方实力如下:

  

集合:  

  在爬虫程序中, 为了不重复爬那些已经爬过的网站, 我们需要把爬过的页面的url放进集合中, 在每一次要爬某一个url之前, 先看看集合里面是否已经存在. 如果已经存在, 我们就跳过这个url; 如果不存在, 我们先把url放入集合中, 然后再去爬这个页面.

  Python提供了set这种数据结构. set是一个包含不同元祖的无序集。基本功能包括关系测试和剔除重复记录。集合对象同样支持数学操作,像联合、交、差和对称差。  

  大括号或set()函数可以用来创建集合。如果想要创建空集合,必须使用set()而不是{}。后者用于创建空字典。官方示例如下:

  

 

  

  其中,a - b表示在a中而不在b中的元素,a | b表示a与b的元素合集,a & b表示a与b中都有的元素, a ^ b表示a与b的非公共元素。

posted @ 2015-05-20 23:26  边军一小兵  阅读(247)  评论(0编辑  收藏  举报