文档章节

wxSportCrawler,抓取微信运动真实数据的项目

Klaus88
 Klaus88
发布于 2016/10/11 09:48
字数 681
阅读 222
收藏 1

wxSportCrawler

一套抓取微信运动真实数据、并将微信运动数据用于活动/场景的程序

关键字:微信运动、微信步数、运动步数、wechat sport、wechat step、微信硬件

Demo: 1、http://wxsportdemo.grplpl.com/ 2、http://node.mzdol.com/wxSportDemo/

功能描述

1、抓取个人的微信运动数据,形成实时数据、日数据、累计数据和其他按照需求进行统计的数据

具体可以看Demo截图

(1)当前时间的步数实时显示

(2)月步数按日显示

(3)日实时步数排行榜

(4)累计步数排行榜

2、每日定时由个人号机器人提示日步数,加强活动粘性

Demo截图

各种流程图

1、个人微信端报名流程图

2、客户服务器拉取数据流程图

3、群发日提醒到个人微信端流程图

技术综述和难点

(1)如何抓取微信运动数据

通过抓取微信PC客户端的Cookie,攻克抓取微信运动数据的技术难点。

看下图,通过fiddler抓取到微信PC端的https的登陆cookie。

(2)服务器端程序,模拟登陆到微信PC客户端,轮询各个微信号的微信运动数据,抓取到本地数据库。

这步没有多少难点,只要熟悉模拟登陆即可完成。

但是程序的稳定性是一个很大的考验。实际开发中遇到了cookie过期、抓取超时等问题,花了很长时间一一解决。

(3)服务器端程序需对外提供Restful接口(需认证),给用户调取微信运动数据。

这步没有难点,就在于如何设计这个认证的接口。

(4)与微信个人Bot相关的开发

下面简称“微信个人号Bot”为“Bot”。

这里解释一下,因为按照流程图1和3,都需要用到一个微信个人号(就是普通的微信号)来实现报名和群发功能,所以这个Bot必须是一个实现了全功能的微信模拟登陆模拟操作的Bot。思路其实和github上已经有的不少项目是一样的。

我这里实现的Bot,在稳定性方面要稍微强一点。实际开发上,会遇到无规律掉线(这个最恐怖)、群发控制等问题,需要一点一点解决。

Bot的报名成功提示图:

欢迎加入

这里已经实现了一个可用的API,可提供有限的试用。

具体请联系我,QQ 14707685,注明“微信运动数据”。

请关注这个项目,https://github.com/klausgao/wxSportCrawler/

© 著作权归作者所有

共有 人打赏支持
Klaus88
粉丝 5
博文 15
码字总数 7457
作品 0
南宁
高级程序员
私信 提问
深度学习与强化学习相结合,谷歌训练机械臂的长期推理能力

雷锋网(公众号:雷锋网) AI 科技评论按:机器人如何能够学到在多样且复杂的真实世界物体和环境中能够广泛使用的技能呢?如果机器人是设计用来在可控环境下进行高效的重复工作,那么这个任务就...

高云河
2018/07/31
0
0
开源赛车将驶进勒芒 24 小时

[核心提示] 来自英国的 Nicolas Perrin 在以自己名字命名的 Perrin MyTeam 开源项目中,让任何人都有机会接触到为 2015 年勒芒 24 小时耐力赛设计混合动力原型车的所有资料。 编者注:本文转...

oschina
2014/03/22
1K
8
微信运动排行榜页面抓取

微信运动排行榜页面抓取,详细需求见附件。

芥末花生
2016/02/16
22
6
记一次完整手机APP项目的开发

写在前面 从2015年12月开始到2017年3月在一个创业团队完整参与了一个运动类的手机APP的开发,虽然最后这个项目失败了但是我学到了很多东西,现在已经过去一段时间了可能已经忘记了一部分细节...

zhujunxxxxx
2017/09/03
0
0
基于Yii的天气预报程序,XWeather使用教程

首先贴出项目地址:http://git.oschina.net/xiongchuan86/xweather XWeather 项目是一个天气预报程序,集合了数据抓取 和 API ================================================= 一、系统要...

熊川
2013/06/09
0
1

没有更多内容

加载失败,请刷新页面

加载更多

移植Modbus到STM32F103(2):移植FreeModbus到usart3并运行示例代码

FreeModbus是Modbus的一个被广泛移植的实现。其源码在github,最新版是1.6。 FreeModbus支持Modbus功能码里的0x01~0x06,0x0F~0x11和0x17,对一些功能比如异常诊断和读事件计数等功能码并没有...

Konstantine
今天
3
0
浅谈神经网络(神经网络篇)

背景 之前写过浅谈神经网络基础篇,简单介绍下机器学习这块内容,用于扫盲。本文正式将神经网络,这部分是深度学习的基础。了解完可以掌握强大的机器学习的方法,也可以更好的了解深度学习。...

Uknowzheng
今天
5
0
移动硬盘变为RAW格式后的修复

在Mac上使用自己的移动硬盘结果文件系统格式变为RAW; 在自己windows笔记本上使用chkdsk H: /F进行修复,修复日志如下: C:\Users\mengzhang6>chkdsk H: /F文件系统的类型是 NTFS。卷标是 do...

晨猫
今天
3
0
10 Git —— 标签管理

10 Git —— 标签管理 本节内容: 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;命令git......

lwenhao
今天
4
0
小程序设置垂直居中,水平居中

如果子容器中的view需要居中的话,那需要在父容器中设置居中 水平居中: display: flex; flex-direction: column; align-items: center; 垂直居中 display: flex;align-items: cen...

淘幻幻
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部