某网友提出能不能抓取腾讯迁徙数据。
https://heat.qq.com/qianxi.php
。
个人觉得该数据的研究意义不大,最多发朋友圈SHOW-SHOW。不过,我还是想和大家分享一下如何抓取该数据,感兴趣的朋友可以自己去编写Python代码。
1、获取迁徙数据及其URL地址。
通过右键检查元素,切换到NetWork,点击
11000016.js?callback=
这条记录,并Preview,可以看到迁徙数据(图1)。而Headers中的Request URL,就是该数据的真实URL地址(图2)。
图1
图2
2、分析URL地址的规则
示例URL地址:
https://lbs.gtimg.com/maplbs/qianxi/00000000/11000016.js?callback=JSONP_LOADER&_=1490242067504
(1)00000000:当前日期,要查询历史日期如2016年10月1日,其规则是20161001。
(2)11000016:前6位是城市编码,与居民身份证中前6位相同。如110000指北京,510100指成都,320500指苏州,百度文库有身份证编码规则可下载。后两位用于判断迁出迁入,06为迁入,16为迁出。
(3)最后13位数字没有意义,可不加。
https://lbs.gtimg.com/maplbs/qianxi/00000000/11000016.js?callback=JSONP_LOADER&_=1490242067504
与
https://lbs.gtimg.com/maplbs/qianxi/00000000/11000016.js?callback=JSONP_LOADER&_=
相同。
所以,我们只需要根据规则去循环URL地址,并提取返回的数据即可。如获取2016年10月1日苏州迁入与迁出数据,其URL地址分别为:
https://lbs.gtimg.com/maplbs/qianxi/20161001/32050006.js?callback=JSONP_LOADER&_=
https://lbs.gtimg.com/maplbs/qianxi/20161001/32050016.js?callback=JSONP_LOADER&_=
结 语
感兴趣的朋友可自行编写代码,如有疑问可留言。
觉得好就赞一个吧!