知其然,知其所以然。只知其然,不知其所以然,则学习如空中楼阁。
欢迎来到本系列最核心的课程,异步并发爬虫。本部分分为四篇博客来叙述,准备好上车了吗?
由于前四篇(两篇主体,两篇番外)连续高压,所以这篇我们将URL去重部分和缓存部分分开,减轻压力。
1、set去重法
做去重的方法有很多,比方说两两比对。但是,做大并发爬虫的时候,URL的数量是很大的,一个好的算法将会大大缩短我们等待结果的时间。
说到去重,最直接的想法就是用集合(set)嘛。将URL插入到set中,可以实现自动去重的功能,因为集合的特性就是每个值不重复存在。
至于为什么说set会快呢,因为它的底层是哈希表啊。
对于数据结构不清楚的小伙伴可以看一下这里:
为实习准备的数据结构(10)-- 哈希散列表
试用set
s