1. 爬虫概述
爬虫,又称为网络爬虫,主要指代从互联网上进行数据采集的脚本后端程序,是进行数据分析和数据挖掘的基础。
1.1. 爬虫分类
根据项目中的使用情况进行区分,主要分为两大类:通用爬虫和聚焦爬虫
根据采集数据的过程进行区分,又可以分为两大类型:累积爬虫和增量爬虫
1.1.1. 通用爬虫 & 聚焦爬虫
通用爬虫:最常见的数据采集程序,是网络上搜索引擎使用的脚本程序,搜索引擎通过通用爬虫进行互联网上的数据搜集,提供给自己的客户进行数据搜索使用;通用爬虫采集的数据具有普遍性,针对性较差;但是通用爬虫的重用性较高,一旦开发调试完成,可以长时间运行给搜索引擎提供需要的数据。
聚焦爬虫:是数据供应商企业使用最多的爬虫程序,通常情况针对指定范围的数据进行定向的数据采集和筛选,能在一定时间段内最大限度的采集企业需要的有效数据;但是重用性较差,一般针对不同的数据需求,需要独立开发爬虫程序进行数据采集。
1.1.2. 累积爬虫 & 增量爬虫
累积爬虫:目标数据一旦生成,不会发生改变,随着时间的延伸数据量逐渐增大,累积爬虫就是采集这样的数据,采集并保存历史数据之后针对新生成的数据进一步获取,采集过程中不会更新历史数据;如采集期权股票的数据、房地产地域价格历史数据等等。
增量爬虫:目标数据在需求更改过程中可能会随时发生变化;历史数据的变动和新增数据都被称为增量,所以针对此类数据采集的爬虫程序,称为增量爬虫;增量爬虫的特点就是在采集数据的过程中随时更新历史数据的同时采集新增数据;如搜索引擎采集网络数据,网络上的网页数据随时可能发生变化,需要爬虫针对采集的历史数据随时进行更新并采集新增的网页数据。
1.1.3. robot协议
活跃在网络上的数据本身就是需要相关的客户进行访问查看的,所以正常情况下网络上客户能查看到的数据爬虫一般都能进行数据采集处理。
但是,很多情况下有些数据是受到保护的,网站一般会发表声明该类型数据被当前网站版权保护,其他个人或者单位不能将该网站数据用于其他的网站或者商业目的,就是一种比较常规的限制。
同时在网络上活跃着很多深层网络数据,在进行爬虫数据采集的过程中,很有可能会从正常网页中采集到该类型的url地址并获取数据,该类型数据极有可能是涉密数据,如果进行非法访问和采集会承担一定的民事/刑事责任。
ROBOT协议就是针对这样的问题出现的一种规范和约束,一般稍有安全意识的网站都会有自己的ROBOT协议,协议规范了允许爬虫采集的网站地址列表和禁止访问的地址列表,方便爬虫程序在采集的过程中进行参考使用。
1.2. 为什么要使用爬虫
爬虫的作用是从网站上采集(下载)数据的,目前市面上流行的下载工具比比皆是,使用爬虫的优势和使用场景的目的性一定要明确。
爬虫的优势是将下载数据的过程通过编写的程序实现自动化批量处理,但是自动化有两个前提条件:需要编写程序、可以批量处理;这两个前提条件同样也说明了爬虫的使用场景
- 采集数据之前,对目标数据进行分析,并编写程序代码
- 目标数据是批量数据(非单个极少量数据),批量数据有自己的组成规律
1.3. 爬虫注意事项
爬虫技术在一定程度上还是备受争议的,尤其是聚焦爬虫在数据处理过程中对于目标数据所在的服务器会造成短时间的压力提升;爬虫程序由于程序本身的特殊性,在一定程度上可能会引发一些对网站的恶意攻击行为;爬虫采集数据的过程中对于数据的涉密性区分不是很严格,主要靠人工手段进行筛选操作;所以爬虫处理过程中一定要注意如下问题:
- 爬虫采集的目标数据量进行分析
- 爬虫采集的目标数据涉密性进行分析
- 爬虫采集目标数据的频率进行分析