爬虫与框架、网页的关系

作者:IPIDEA

2020-09-16 16:13:42

刚接触爬虫的工作者,在学习爬虫上会有许多的疑问,首先要了解一些必要的原理,不是借助别人的代码就可轻易完成。下面IPIDEA整理了关于爬虫的入门基础,先搞懂爬虫与框架、网页的关系:

 

一、通用爬虫技术框架

 

通用爬虫技术框架爬虫系统首先从互联网页面中精心选择一部分网页,以这些网页的链接地址作为种子URL,将这些种子放入待抓取URL队列中,爬虫从待抓取URL队列依次读取,并将URL通过DNS解析,把链接地址转换为网站服务器对应的IP地址。

 

然后将其和网页相对路径名称交给网页下载器,网页下载器负责页面的下载。对于下载到本地的网页,一方面将其存储到页面库中,等待建立索引等后续处理;另一方面将下载网页的URL放入已抓取队列中,这个队列记录了爬虫系统已经下载过的网页URL,以避免系统的重复抓取。

 

对于刚下载的网页,从中抽取出包含的所有链接信息,并在已下载的URL队列中进行检查,如果发现链接还没有被抓取过,则放到待抓取URL队列的末尾,在之后的抓取调度中会下载这个URL对应的网页。如此这般,形成循环,直到待抓取URL队列为空,

这代表着爬虫系统将能够抓取的网页已经悉数抓完,此时完成了一轮完整的抓取过程。


 8.223.jpg

 

二、爬虫和互联网所有网页之间的关系

 

上述是一个通用爬虫的整体流程,如果从更加宏观的角度考虑,处于动态抓取过程中的爬虫和互联网所有网页之间的关系,可以概括为以下5个部分:

 

1.待下载网页集合处于待抓取URL队列中的网页,这些网页即将被爬虫下载。

 

2.已下载网页结合爬虫已经从互联网下载到本地进行索引的网页集合。

 

3.已过期网页结合由于网页数量庞大,爬虫完整抓取一轮需要较长时间,在抓取过程中,很多已下载的网页可能已经更新了,从而导致过期。之所以如此,是因为互联网网页处于不断的动态变化过程中,所以易产生本地网页内容和真实互联网不一致的情况。

 

4.未知网页集合有些网页对于爬虫是无法抓取到的,这部分网页构成了未知网页结合。事实上,这部分网页所占的比例很高。

 

5.可知网页集合这些网页还没有被爬虫下载,也没有出现在待抓取URL队列中,通过已经抓取的网页或者在待抓取URL队列中的网页,总是能够通过链接关系发现它们,稍晚时候会被爬虫抓取并索引。

 


*ipidea提供的服务必须在境外网络环境下使用

热门资讯