2019FME博客大赛——为数据而生的FME - 腾讯人口迁徙数据爬取与分析

本文详细介绍了如何使用FME进行腾讯人口迁徙数据的爬取、预处理、分析和可视化,包括数据获取、清洗、建模、计算城市迁徙联系强度和可视化,展示了FME在数据全生命周期管理中的应用。
摘要由CSDN通过智能技术生成

参赛单元:互联网、大数据及云计算

作者:刘啸

单位:上海垣观数据科技有限公司

 

随着信息技术的发展,大数据的概念越来越引发人们的关注,各种有关于城市的新数据类型也不断涌现,为客观认识城市系统并总结其发展规律提供了重要机遇。本文结合腾讯人口迁徙数据爬取与分析案例,不仅展示了如何利用FME进行支撑城市规划决策的数据分析,也展示了以FME为核心的从数据获取、数据清洗、数据分析、数据可视化等全生命周期的数据组织和管理流程。

各城市之间的人口迁入迁出热度数据分析是了解城市的发展布局,中心城市和城市群带动区域的发展情况,以及各个区域之间的互动情况的常用分析,也经常被应用于区域规划,城市战略规划以及总体规划中。而此类的分析如果用FME来做基本上可以做到零代码,用FME内置的一些转换器,拖拖拽拽就可以实现。

 

腾讯人口迁徙数据获取

在做数据分析之前首先要考虑的问题就是数据从何而来。对于人口迁徙数据一般来源有手机信令数据(移动,联通,电信),APP数据(百度,腾讯,TD等),但是这些数据一般都需要购买,而且价格高昂,如果只是想做一些小的研究,不愿意购买,可以自己动手去爬取腾讯位置大数据网站的人口迁徙数据(https://heat.qq.com/qianxi.php)。

当我们在日期栏中选择好日期,并在搜索框中输入想要查看的城市,比如上海,就可以看到指定的日期迁入迁出上海的数据。除了查看综合了飞机、火车和汽车三种不同交通方式的迁徙热度数据,还可以分别查看飞机、火车和汽车三种不同交通方式的迁徙热度。如果我们打开开发者工具,可以很容易的发现当我们搜索时所调用的接口,所以只要我们掌握了这个接口各个参数的含义,就可以通过FME的HTTPCaller转换器直接调用这个接口,从而得到我们想要的数据。

通过分析这个接口我们发现当我们在切换不同的交通方式,迁入迁出,日期还有城市的时候发现变化的只有三个部分(具体如下图所示)。第一个部分为日期,第二个部分为城市代码,第三个部分代表了不同的交通方式和迁入迁出数据。所以我们只要按照我们的需求替换掉相应的部分就可以了。

这三个参数中,最容易获取的应该就是日期还有不同交通方式的代码这两个参数了,那我们如何去获取城市代码呢。当然获取城市代码的途径有很多,直接百度的话都会出来很多结果,但是如果贸然采用其他来源的城市代码的话可能会发现与腾讯位置大数据网站的城市代码不一致,从而造成我们抓取的时候数据会有遗漏。所以我们最好能够采用腾讯位置大数据网站自身的城市代码。

在我们打开腾讯位置大数据网站的时候,服务器除了会传回我们需要的人口迁徙热度数据,还可发现一个叫做city.js的文件,而这个文件中就恰好包含了我们需要的城市代码,所以我们在去调用人口迁徙热度数据接口之前需要先把这个文件的城市代码解析出来。

同样的,我们可以直接用HTTPCaller就可以了。这里要注意的就是在Response Body Attribute一栏中要选择utf-8。因为在city.js的头文件中并没有标示编码信息。

解决了城市代码的问题接下来要解决的就是日期问题,腾讯位置大数据网站的数据是从2015年2月3日开始到现在的每天更新的数据,如果我们需要把它的数据全都抓取下来的话,我们需要获取从2015年2月3日到现在每一天的日期。首先需要用到的是DataTimeCalculator转换器来计算开始日期到终止日期之间的时间间隔,

然后用利用DataTimeCalculator的Add or Subtract Interval模式进行累加,依次得到从2015年2月3日到现在每一天的日期。这里用到了一个简单的循环。

  • 17
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值