一、网络爬虫:按照指定的规则(网络爬虫的算法)自动浏览或抓取网络中的信息,通过Python可以比较轻松的编写爬虫程序或者是脚本。

二、网络爬虫分类

 网络爬虫按照实现的技术和结构可以分为以下几种类型:

(1)通用网络爬虫(Scalable Web Crawler),通用网络爬虫的爬行范围和数量巨大,正是由于其爬取的数据是海量数据,所以对于爬行速度和存储空间的要求较高,这种网络爬虫主要应用于大型搜索引擎中,有非常高的应用价值。通用网络爬虫主要由初始URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块等构成。

(2)聚焦网络爬虫(Focused Crawler),也叫主题网络爬虫(Topical Crawler),是指按照预先定义好的主题,有选择地进行相关网页爬取的一种爬虫。聚焦网络爬虫主要应用在对特定信息的爬取,为某一类特定的人群提供服务。

(3)增量式网络爬虫(Incremental Web Crawler),在爬取网页的时候,只会在需要的时候爬行新产生或更新的页面,对于没有发生变化的页面,则不会爬取。

(4)深层网络爬虫:主要通过六个基本功能的模块(爬行控制器、解析器、表单分析器、表单处理器、响应分析器、LVS控制器)和两个爬虫内部数据结构(URL列表、LVS表)等部分构成,其中LVS(Label Value Set)表示标签/数值集合,用来表示填充表单的数据源。

三、网路爬虫的基本原理

一个通用的网络爬虫基本工作流程:

(1)获取初始的URL,该URL地址是用户自己制定的初始爬取的网页。

(2)爬取对应URL地址的网页时,获取新的URL地址。

(3)将新的URL地址放入URL队列中。

(4)从URL队列中读取新的URL,然后根据新的URL爬取网页,同时从新的网页中获取新的URL地址,重复上述的爬取过程。

(5)设置停止条件,如果没有设置停止条件时,爬虫会一直爬取下去,直到无法获取新的URL地址为止。设置了停止条件后,爬虫将会在满足停止条件时停止爬取。