2025年1月9日
一、学习目标
1.了解数据采集的基本流程和几种常见数据采集方法;
2.实操通过八爪鱼采集工具进行数据采集。
二、知识准备
数据是产生价值的原材料,也是进行数据分析的第一步。获取数据的方式是多种多样的,我们这里主要讲的是通过数据采集方式获取数据的过程。
(一)数据采集的相关概念
数据采集就是搜集符合数据挖掘研究要求的原始数据(Raw Data)。原始数据是研究者拿到的一手或者二手资源。数据采集既可以从现有、可用的无尽数据中搜集提取你想要的二手数据,也可以经过问卷调查、采访、沟通等方式获得一手资料。不管用哪种方法得到数据的过程,都可以叫做数据采集。
互联网时代,万维网成为大量信息的载体,通过网络爬虫获取相关数据是一种高效且可靠的数据采集方式。
(二)采集数据的流程
完整的采集数据流程可包括采集、存储和清洗三个环节。
1.采集
将整个HTML或者JS文件下载到本地,此时数据在文件中,文件可转换成文本这种可读的类型。
2.存储
存储数据一般将下载的文件或者文本整个存入数据库。
3.清洗
从文件或者文本中提取目标资料,并组织成表格形式,形成可供分析的原始资料。
(三)反爬虫
平台为了避免被第三方大量采集数据,造成数据泄露等严重后果,或给服务器带来巨大压力影响正常用户的使用体验,均给自己平台的数据设置了反爬虫机制。反爬虫机制一般包含IP限制、账号权限限制、密钥匹配这3种方式。
1.IP限制
最基础的反爬虫方式,也比较好破解,通过变换网络IP即可破解。
2.账号权限限制
必须登录账号才可以访问,且账号可能存在访问权限限制,如限制页面或者限制访问次数,破解的方法是上传身份信息给服务器,一般使用cookie字段。
惯常的操作是:登录电商平台账号、获取cookie参数、在下载网页代码函数中加入Headers、添加延时、提取Json数据,具体操作将在批量采集数据时有所涉及。对于限制访问权限的,需要使用具备对应权限的账号,如果暴力破解则是黑客范畴。对于访问次数的限制,只要频繁变换账号即可。
3.密钥匹配
密钥匹配是目前比较难破解的,需要具备密码学的知识,破解密钥的算法,然后自行生成密钥和服务器匹配。
(四)数据采集工具
数据采集工具大致可分为两种,一种是借助代码或者网页源码进行手动采集的工具,通常是一些数据分析工具,例如Power BI、Excel等,或者编码工具例如Python。利用这些工具进行手动数据采集时,通常要求用户有一定的数据分析或者编程基础,因为使用过程中通常设计到一些函数或者命令的调用。
另一种是由第三方公司开发的数据采集工具,常见的有八爪鱼、火车头、后羿采集器等。一般需要先进行一些基本字段或者规则设置,即可实现数据的采集,这一类工具通常对用户的数据分析或者编程等技术要求较低。但局限性在于,能够获取到的数据有限,许多信息无法采集,并且有些工具需要付费才能实现相应功能。
三、实验内容与步骤
案例背景:现在的社会是一个信息化、数字化的社会,互联网、物联网和云计算技术的迅猛发展,使得数据充斥着这个世界,与此同时,数据也成为一种新的自然资源,亟待人们对其加以合理、高校、充分的利用,使之能够给人们的生活工作带来更大的效益和价值。如,为进行重点商品中机电产品的进出口国别统计分析,则需要进入相关数据网站,爬取机电产品出口国别统计数据。
本案例将通过八爪鱼工具自定义配置实现自动化采集,爬取目标数据。
八爪鱼是一款数据采集器,使用简单,可以从任何网页精确采集你需要的数据,生成自定义的、规整的数据格式。
1. 打开网页
在八爪鱼首页新建自定义任务,并输入网址全国房价排行榜 - 聚汇数据,保存设置即可打开网页。如图1所示。
图1 打开网页
2. 选中目标数据
进入网页会自动识别,可以看到需要采集的目标数据"全国房价排行榜",点击生成采集设置。
图2 生成采集设置
3.设置列名
在采集页面的下方可以预览到数据的采集数据发现有一列的数据内容为 网页链接 可以选择删除该列,如图5所示,再根据网页显示修改对应列名9修改内容 如图6所示。
图3 删除多余列
4.保存与采集
在列名修改完成后可以设定表格名称,保存采集流程后即可点击采集启动本地采集,并可以将数据储存在exceI当中。
图4 保存采集数据①
图5 保存采集数据②
图6 保存采集数据③
最终得到的数据如图7所示。
图7 数据展示