直观:解放你的指尖:教你自动化数据采集与数据预处理(上)
优采云 发布时间: 2022-11-24 06:40直观:解放你的指尖:教你自动化数据采集与数据预处理(上)
专家学者说:大数据是金矿,关键在于如何采集
和应用。
草根数据工程师说:数据清洗基本靠人肉,一个数据分析项目80%都是清洗数据!
本文以“沃+大赛”命题2“用户终端变化预测”案例的实践经验为基础,讲述如何告别千百次翻页、点击鼠标、数据挖掘项目数据准备阶段的Ctrl+F。、Ctrl+H等体力劳动,解放双手,“数”金。
“用户终端变化预测”案例简介:近12个月约36万用户(用户ID已脱敏)终端使用行为——包括用户基本属性、消费信息、商家信息、终端信息(终端品牌和终端) model) ), 判断未来三个月内是否更换终端。
试想一下,如果小明买了一个昂贵的最新款手机,或者他手上的终端是网卡、平板电脑、车载模块等非移动终端,那么他3个月内更换终端的概率就比较小了,所以终端类型、价格、上市时间这三个属性是我们判断终端是否会在3个月内更换的重要因素。然后获取在售终端的型号、价格、上市时间,将这些数据添加到本案例的现有数据中。在数据方面,是我们数据准备阶段的一项重要工作。
我们将这项工作分为两部分:
1. 数据采集
从京东、中关村在线等主流移动通信设备销售和信息提供网站获取终端类型、最新价格、上市日期等信息。
2. 数据预处理
清洗采集
到的数据,以“终端品牌+终端型号”为键值关联本案例提供的用户终端数据,在本案例已有数据中加入最新的售价、上市时间、终端类型案例三个属性。
在本文中,我们将重点介绍数据获取,数据预处理将在下一期介绍。现在让我们开始数据采集
的讨论和实践吧!
一、网络信息采集原理
自动采集互联网海量数据就是我们常说的爬虫技术,其总体框架如下:
爬虫系统是一个闭环(这在我们下面搭建的数据采集模型中也会有体现),它的工作流程是:
爬虫系统的模块和功能有:
网址边界
爬虫系统的调度器是其他模块的驱动
DNS 解析器
模型域名解析,并输入URL Frontier,一个循环完成后,URL Frontier返回网页内容
信息系统
Remote Installation Service,远程服务器,实现爬虫与互联网的通信
看到的内容
删除重复的网页内容
提取器
获取当前页面的URL,并提取
网址过滤器
一般用于垂直应用,过滤Extractor输出的URL,过滤无效的URL
标签计数器
标签计数
看到的网址
URL 去重
网址集
一般硬盘、数据库等,用来存放URL
二、视觉爬虫工具盘点
如果你想自己写一个网络爬虫,你必须具备网页、网络编程语言、文本分析语言等知识。但是,如果你是一个代码新手,不要绝望。下面介绍几款视觉爬虫工具及其特点,更多特点可以点击官网链接查看。
" />
3.为自己定制一个爬虫
在了解了技术架构和各种可视化爬虫工具后,让我们选择一个比较简单易学的爬虫工具——优采云
来完成本次命题的数据采集任务。以采集京东手机商城网页信息为例,构建自动化采集流程。
引导页的 URL:,653,655
需要采集
的信息:手机品牌、手机型号、市场价格、上市时间。
采集需要哪些步骤?
第一步:打开京东商城手机商城引导页面
第二步:依次点击引导页当前页面的各个手机
第三步:跳转到具体手机型号后,依次采集
手机品牌、手机型号、市场价格、上市时间等信息
第四步:在引导页当前页面采集
到最后一部手机后,点击“下一页”,直至所有在售手机信息采集
完成
因此,采集任务的流程图如下:
下面我们正式进入优采云
采集
器的采集
规则设计。以下是优采云
采集器的主页面:
简单模式:不需要编写配置规则,按照向导进行相应操作即可,但功能有限。
高级模式:需要自己配置规则,可以在大部分场景下抓取网页信息。
本命题涉及循环点击元素、循环翻页等元素,需要高级模式。采集过程为:
第一步:设置基本信息
第二步:设计工作流程,这是核心环节。我们刚刚绘制了数据采集
任务的流程图,我们将根据流程图设计工作流程。
a) 打开网页:添加“打开网页”模块,输入京东商城手机商城导航页面的URL,点击“保存”,即可在当前运行窗口看到该页面:
b) 循环页面:点击网页上的“下一页”按钮,选择“高级选项-循环点击下一页”:
所以流程设计者增加了一个“循环翻页”的模块,下一页路径为 //A[@class='pn-next']
" />
c) 循环点击元素:点击导航页第一个商品,弹窗:
选择“高级选项——创建一个元素列表来处理一组元素”,然后点击添加到列表:
我们在导航页点击的第一个手机以图片的形式添加到列表中,点击“循环”:
可以看出流设计器中多了一个“循环”模块,循环方式为不固定元素列表,路径为//DIV[@id='plist']/UL[1]/LI[ 1]/DIV[1]/DIV[1]/A[1]/IMG[1]
但是根据前面的分析,被点击的元素应该是翻页的子循环,所以把它移到翻页循环中:
d) 提取数据:依次点击要提取的数据,选择“抓取该元素的文本”:
最后提取出来的信息如图:
至此,数据采集流程图搭建完成!
同时采集
京东商城销售的老年手机等形式的终端,包括平板电脑、网卡、智能手表、车载模块等,基本方法相同。
为便于对比分析,同样采用中关村在线手机信息采集方法。方法大致相同,只是网页结构和数据格式略有不同,所以采集流程略有不同:
3、设置采集
选项:这一步根据文字描述进行选择。
4、采集流程完成:云采集和定时采集是优采云
的产品特性,但需要消耗积分或成为VIP。单机采集速度比较慢,但还是可以接受的。
接下来,我们就可以坐等数据采集
完毕了。一段时间后,采集完成。
5.数据导出:点击右下角图标可以多种方式导出数据。
导出到excel:
完毕!
概括
如果你仔细阅读了本文并按部就班地实践,相信即使你从未接触过网络知识和爬虫技术,你也可以告别单调乏味的重复点击,拒绝人工数据采集!本文讲解的案例已经涵盖了采集过程中的大部分要素。对于任何网页采集任务,只要按照我们手动采集的思路,理清需求,理清逻辑,多多尝试,就可以解放你的鼠标,让采集飞起来。
下一期通知
当我们拿到终端的采集结果时,发现虽然丰富全面,但不够整齐。“手机品牌”和“手机型号”两栏混合全角和半角符号,意想不到的空格括号略显凌乱,描述方式与原数据中相同这个案例。大部分描述方式不同,无法直接匹配,暂时无法实现我们采集
数据的初衷。下一篇文章将介绍如何使用Linux中常用的文本编辑工具awk和sed对采集到的数据进行清理匹配。它们需要一定的Linux和C语言编程基础,但还是比较容易学的。
敬请关注!
本内容由中国联通互联网研究院大数据独家提供。我们会定期分享大数据领域的前沿趋势和创新理念。如需转载或合作,请联系或微信号chengxz01。
技巧:任意关键词下淘宝商品信息采集器,我拿下了信息却看不透套路
任意关键词下载淘宝商品信息采集器,我拿到了信息但是看不到例程
发表于 2017-03-30
完成淘宝收购项目。写在服务器上,用crontab定时运行半个月。记下机械键盘关键词下的数据后,生成一个采集excel,包括具体商品名称、门店、付款人数、当前价格、原价、报价类型、地区、具体商品参数信息在产品页面上。. 分析还没有开始,先把数据开源了,有兴趣的朋友可以自己看看。. 回去整理代码再发。
数据显示:
每天采集
的文件收录
40 个主要产品图像
同时生成采集的excel,包括具体的商品名称、门店、付款人数、当前价格、原价、优惠类型、地区、商品页*敏*感*词*体商品参数信息。.
目前,我已经跑步26天了。资料我先发出来了,等会儿整理好代码再开源。.
" />
在这里下载。机械键盘产品信息采集
26天
同时,我把项目的结果示例放在了github上,代码整理后也会放上来。
%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE%E6%BA%90%E7%A0%81/17.%E6%B7%98%E5%AE% 9D%E5%85%B3%E9%94%AE%E8%AF%8D%E9%87%87%E9%9B%86%E5%99%A8
发这篇文章的目的是希望一些有能力的人和陌生人指出可以分析的地方,继续采集
。我想让这个项目更有趣。
在程序功能方面已经存在的是:
淘宝搜索程序Search.py
功能。给定关键词和排序方式,采集
到的淘宝商品数据将存放在指定的文件夹中。
命令python Search.py 关键词文件夹排序方式最大页数(价格区间)
" />
阐明:
关键词 可以是:皮裤、毛衣、任何名词但不能有空格
文件夹:在当前目录下会自动生成一个文件夹目录,包括pic文件(产品主图)。采集完成后会出现一个excel文件
排序方式:有1、2、3三种选择,1为综合排序,2为销售排序。3为价格区间搜索,选择3时需要添加两个参数作为价格区间。
使用示例:
python Search.py 皮裤piku1 1 5 #综合排序#第5页
python Search.py 皮裤piku2 2 5 #sales order
python Search.py 皮裤piku3 3 5 100 300 #指定价格搜索