马来西亚ip 代理专家学者说:大数据是一座金矿,关键在于如何收集与应用。
基层数据工程师说:数据清洗基本靠人肉,一个数据分析项目八成时间在洗数据!
本文基于“沃+大赛”之命题二“用户终端变迁预测”案例的实践经验,谈一谈如何在数据挖掘项目的数据准备阶段,告别成千上万次的翻网页、点鼠标、Ctrl+F、Ctrl+H等体力活儿,从而解放双手,点“数”成金。
“用户终端变迁预测”案例简介:通过约36万用户(用户ID已脱敏)过去12个月的终端使用行为——包括用户基本属性、消费信息、业务信息、终端信息(终端品牌及终端型号),判断其未来三马来西亚ip 代理个月是否会更换终端。
设想一下,如果小明买了个昂贵的最新款手机,或者他持有的这个终端是网卡、平板电脑、车载模块等非手机形态终端,那么他3个月内更换该终端的概率比较小,因此终端类型、价格、上市时间三个属性是我们判断其3个月内是否会更换终端的重要因素,那么获取在售终端的类型、价格、上市时间,并将这些数据追加到本案例的现有数据中,是我们数据准备阶段的重要工作。
我们将该工作分为两部分:
1、数据采集
从京东、中关村在线等主流移动通信设备售卖及信息提供网站,马来西亚ip 代理获取终端类型、最新售价、上市时间。
2、数据预处理
将采集到的数据进行清洗,并以“终端品牌+终端型号”为键值,与本案例所提供的用户终端数据进行关联,向本案例的现有数据追加最新售价、上市时间、终端类型三个属性。
本期文章我们将专注于数据采集,数据预处理将在下一期介绍。下面让我们开始数据采集的讨论与实践吧!
一、网页信息采集原理
互联网海量数据的自动化采集,就是我们常说的爬虫技术,其通用框架如下:
爬虫系统是一个闭环(在下面的我们搭建的数据采集模型中也会马来西亚ip 代理发现这一点),其工作流程为:
爬虫系统的各模块及功能为:
URL Frontier
爬虫系统的调度器,是其他模块的驱动
DNS Resolver
机型域名解析,并输入URL Frontier,一个循环完成后,URL Frontier返回网页内容
RIS
Remote Installation Service,远程服务器,实现爬虫与Internet间的通信
Content Seen
对网页内容进行去重
Extractor
获取当前页面的URL,并提取
URL Filter
一般用于垂直应用,对Extractor输出的URL进行筛选,过滤无效URL
Tag Counter
标签计数
URL Seen
对URL进行去重
URL Set
一般是硬盘、数据库等,用来存储URL
二、盘点可视化爬虫工具
若想自行写出一个网络爬虫,网页知识、网络编程语言、文本分析语言等等一个也不能少,然而如果你是代码小白也不用绝望,下面列马来西亚ip 代理举几款可视化爬虫工具及其特点,更多特点可点击官网链接自行挖掘。
能够抓取网页文字、图表、超链接等多种网页元素
可抓取悬浮杂图表上的信息
目前唯一一款常用的可抓取手机上数据的采集器
可以采集网页上的零散数据并进行整理和挖掘
有开放接口支持PHP和C#扩展,可进行个性化数据处理
可以预览采集内容,无需写采集规则
可以按照关键词采集,适合采集与某个主题相关的数据
免费版功能较少
基于神箭手分布式云爬虫框架的数据采集工具
直接接入代理IP,不会因为IP被封而马来西亚ip 代理导致采集失败
可在线生成多样化的采集结果表现形式
轻量级软件,消耗的内存很少
完全免费,必备功能齐全
增加了中英文翻译功能
http://www.kuangren.cc/
通常用于论坛数据的采集
支持对采集内容的批量筛选和查找替换
分为论坛采集器、CMS采集器和博客采集器三类
通常服务于论坛站长
可以批量采集网页和论坛等内容
支持批量发布到网站实现网站的快速更新
完全可视化,简单易学,可根据标签获取规范化数据
支持周期性采集,可根据免费/收费版本选择云采集
支持采集规则与采集数据的共享
三、为马来西亚ip 代理自己量身定制一个爬虫
了解了技术架构以及各种可视化爬虫工具,让我们选择一个比较简明易学的爬虫工具—八爪鱼,完成本命题的数据采集任务。以采集京东商城手机卖场的网页信息为例,搭建一个自动化采集流。
引导页的URL:?cat=9987,653,655
需要采集的信息:手机品牌、手机型号、市场价、上市时间。
采集需要哪几步?
第1步:打开京东商城手机卖场的引导页
第2步:依次点击引导页当前页中的每一款手机
第3步:跳转到具体手机型号后,依次采集手机品牌、手机型号、市场价、上市时间信息
第4步:引导页当前页的最马来西亚ip 代理后一款手机采集完成后,点击“下一页”,直至完成所有在售手机的信息采集
因此,该采集任务的流程图如下:
下面我们正式进入八爪鱼采集器的采集规则的设计,以下是八爪鱼采集器的主页面:
简单模式:不用写配置规则,只需按照向导进行相应的操作,但是功能有限。
高级模式:需要自行配置规则,能实现最大多数场景下网页信息的抓取。
本命题涉及到循环点击元素、循环翻页等要素,需要采用高级模式。采集过程为:
第1步:设置基本信息
第2步:设计工作流程,是最核心的环节。刚刚我们已经画出马来西亚ip 代理了该数据采集任务的流程图,下面我们就按照该流程图设计工作流程。
a)打开网页:添加“打开网页”模块,并输入京东商城手机卖场导航页面的URL,点击“保存”后,即可在现在的运行窗口中看到该页面:
b)循环翻页:点击网页上的“下一页”按钮,选择“高级选项-循环点击下一页”:
于是流设计器中多了“循环翻页”这一模块,下一页路径为 //A[@class=pn-next]
c)循环点击元素:点击导航页面的第一个商品,弹出窗口:
选择“高级选项-创建一个元素列表以处理一组元素”,点击添加到列表:
我们在导航页点击的第一款手机以图片形式加入马来西亚ip 代理到了列表中,点击“循环”:
可以看到,流设计器中多了“循环”这一模块,循环方式为不固定元素列表,路径为//DIV[@id=plist]/UL[1]/LI[1]/DIV[1]/DIV[1]/A[1]/IMG[1]
但是按照前面的分析,点击元素应该是翻页的子循环,故将其移动到翻页循环中:
d)提取数据:依次点击需要提取的数据,并选择“抓取这个元素的文本”:
最终,提取的信息如图所示:
到此为止,数据采集流程图搭好了!
同时我们对京东商城在售的老年机以及其他形态终端进行采集,包括平板电脑、上网卡、智能手表、车载模块等,基本方法相同。
为了方便对比分析,采用同样的方法对中关村在线的手马来西亚ip 代理机信息进行采集,方法大致相同,只是网页结构和数据格式略有差异,故采集流略有不同:
3.设置采集选项:这一步按照文字描述选择就好。
4.采集流搭建完成:云采集、定时采集是八爪鱼的产品特色,但是要消耗积分或者成为vip,单机采集相对较慢,但依然可以接受。
下面我们可以坐等数据采了,一段时间以后,采集完成。
5.数据导出:点击右下角的图标,就可以以多种方式导出数据了。
导出为excel:
Done!
小结
如果你认真看完了本文并一步一步进行了实践,相信即使你从未接触过网页知识、爬虫技术,也可以告别单马来西亚ip 代理调无聊的重复性点击、拒绝人肉数据采集了!本文讲解的案例已经覆盖了采集流程中的绝大部分元素,对于任何一个网页采集任务,只要遵循我们手动采集的思路,明确需求、理清逻辑、多多尝试,就可以解放你的鼠标,让采集速度快到飞起来。
下期预告
拿到终端采集结果,我们发现它们虽然丰富全面却不够整齐,“手机品牌”与“手机型号”两列全角半角的混搭符号、出其不意的空格括号略显凌乱,且描述方式与本案例原始数据中的描述方式大多不同,故无法直接匹配,暂时无法实现我们数据采集的初衷。下一期文章将讲述如何使用Linux常用的文本编辑工具awk和sed对采集到的数据进行清洗和匹配,它们需要一定的Linux及C语言编程基础,但是依然简单易学。
敬请期待!
本内容为中国联通网研院大数据独家提供,我们将定期分享大数据领域的前沿动态和创新理念,如需转载或合作,请与[email protected]或号chengxz01联系。