用 Charles 玩转微信小程序:抓取摩拜、OFO以及车来了数据

最近沉迷于用 Charles 做代理抓手机的数据。

关于如何使用 Charles 来做为手机的代理进行抓 HTTP/HTTPS 请求,这里有一篇非常详细的图文教程:

http://www.jianshu.com/p/5539599c7a25

另外对于 iOS 11 及以上的手机,还需要按照下面这篇文章来进行设置,否则无法正常抓到 HTTPS 请求 ( 其实还是有某些 APP 的 HTTPS 数据是不能被抓到,或是抓到的是加密的数据 ):

http://www.jianshu.com/p/4005cf4f370d

如果一切正常,我们就可以愉快地玩耍了。

在这篇文章里,我们抓几个微信小程序来玩玩。

公交到站提示

几年前我曾在一个山旮旯工作,公交比较不准时,下去早了等着无聊,下去晚了又怕错过。后来在网上找到一个实时公交的接口,写个脚本判断公交快到了再下楼,愉快地解决了这个问题。

当时的接口现在已经不能用了,不过我们可以用 车来了 这个小程序应用。

把手机连到 Charles proxy,在手机上使用,我们就能在 Charles 上抓到相应的 HTTPS 请求:

从 url 就很容易可以看出这个请求就是获取公交线路到站的详细信息的。

是线路 id,比如 020-04960-1 就是 广州 的 496 路,后面的 1 是表示往某个方向的;

指你在第几个站;

和是 GEO 信息;

其他参数看字面意思就行,这里我马赛克了部分个人信息。

请求的结果:

我们只需要这里的 desc 文本就可以了:

用一条 grep 命令:

即可过滤出来。

整个脚本其实只有两行 curl 命令、一个 grep 以及一个 if 判断。

设好定时任务,就能收到公交到站提示了:

PS:类似这种实时提示,还有 实时空气质量 之类的小程序,都是可以像上面这样去实现,非常简单。

摩拜单车热点图

相信很多同学都使用过共享单车。摩拜单车小程序也是比较好抓,正常使用登录后,可以看到这个请求:

可以看到这个请求返回了附近的摩拜单车的信息,包括单车的 id,位置 ( distX, distY ),单车离你的距离,单车的类型等。

提交的参数:

header 里需要有:

mobileNo 这是你的手机号码

time 测试过没有影响,固定一个即可

accesstoken, userid, wxcode 个人相关的信息

citycode 城市代码

其他的参数可以不变

POST 参数:

longitude, latitude 你当前的 GEO 地址

altitude 海拔,貌似不太重要,可以不变

wxcode 个人信息,跟 header 里的一致

citycode 城市代码,跟 header 里的一致

其他的参数可以不变

然后定义一个扫描函数,给定左上角和右下角两个点,对一个长方形范围进行扫描抓取,步长我设为 0.001 :

抓取完后可用 gmaps 展示出来,谷歌家的地图,不方便翻墙的同学也可以用其他地图接口:

最后设个定时任务,6点到22点间,每小时收集一次,以下就是随时间变化的摩拜单车热点图了:

ofo单车

抓完摩拜怎能不抓下 ofo 呢!

ofo 的请求比起 mobike 来说,参数更少一点:

对同一个地区进行扫描抓取,可以得到下面的热点图:

可以看到跟 mobike 的热点图是差不多的,符合现实情况。

Have Fun

本文来自企鹅号 - 脚本有意思媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT笔记

学习OpenResty的正确姿势

前段时间老罗退出得到专栏事情闹得沸沸扬扬,另一位老罗也给出了合理的会员退费,感觉得到还是蛮贴心的。想想也是,毕竟精力有限,如今老罗也有了十亿的投资,集中精力做好...

3387
来自专栏沈唁志

纪建站66天:自己都无法琢磨的博主心态

1343
来自专栏大前端开发

微信小程序实现城市定位:获取当前所在的国家城市信息

微信小程序中,我们可以通过调用wx.getLocation()获取到设备当前的地理位置信息,这个信息是当前位置的经纬度。如果我们想获取当前位置是处于哪个国家,哪...

752
来自专栏BestSDK

微软最新版SDK显示:正秘密研发折叠设备,可三屏同时显示!

众所周知,微软代号仙女座的可折叠折叠设备存在已经被专利证实。尽管从未发布官方声明,但微软现在在Windows 10的最新SDK预览版中添加了更多证据。

1124
来自专栏FreeBuf

2016 黑客必备的Android应用都有哪些?

免责声明:本人所发布的此份清单仅供学习之用。我们不支持读者利用其中的任何工具进行任何不道德的恶意攻击行为。 ? 根据业界的一系列评测以及亲身经验,我们整理出了...

1908
来自专栏魏艾斯博客www.vpsss.net

百度站长工具 https 认证成功全记录

百度很早就支持 https 证书了,并且给出了百度站长工具 https 认证功能,正好 www.vpsss.net 要从 http 升到 https,经历了多次...

50010
来自专栏Jerry的SAP技术分享

JavaScript实现的水果忍者游戏,支持鼠标操作

智能手机刚刚普及时,水果忍者这款小游戏可谓风靡一时。几年过去了,现在,让我们用纯JavaScript来实现这个水果忍者游戏,就算是为了锤炼我们的JavaScri...

1132
来自专栏逸鹏说道

扫一扫二维码就能打开网站,就能添加联系人,就能链接wifi

很多人很想知道怎么扫一扫二维码就能打开网站,就能添加联系人,就能链接wifi,今天说下这些格式 有些功能部分手机不能使用,网站,通讯录,wifi基本上每个手机都...

2967
来自专栏大内老A

WCF传输安全(Transfer Security)的基本概念和原理:认证(Authentication)[上篇]

对于任何一个企业级应用来说,安全(Security)都是一个不可回避的话题。如何识别用户的身份?如何将用户可执行的操作和可访问的资源限制在其允许的权限范围之内?...

1748
来自专栏带你撸出一手好代码

请给你的电脑加上固态硬盘

电脑速度慢,那是老生常谈的话题了。 不管是笔记本电脑还是台式机,是二三千块DIY的货色还是上万土豪配置, 在新系统刚装好那会, 使用起来肯定是顺滑如丝一般的感觉...

2895

扫码关注云+社区