嗨大家好,我是南瓜的好朋友西瓜。
最近是迷恋上运动的🍉,每天跑不够5w步不带停的那种~
为什么这么说呢?
jio要跑断的西瓜每天7万步是什么体验呢?
当然是沉浸在运动的欢畅中空调的庇护下!
说正经的
大家好,今天带给大家的是一键称霸微信运动排行榜的超级技能。
说起微信运动,pyq总有一些魔鬼大神日破两万步,于是乎就诞生了一些不可描述的现象…
原理:模拟登陆某运动APP接口,修改step并同步过来。
本次学习经过了两个步骤:
- 模拟登录
- 登录成功后获取页面接口数据,修改steps
在这个程序中,有定义三个函数,首先登录app,这里涉及到抓包技术。
抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。
模拟登录
response_result = requests.post(url, data=json.dumps(data), headers=headers)
url的获取涉及抓包技术,属于爬虫的进阶阶段。
json.dumps()可以用于将字典形式的数据转化为字符串,得到适合于形参的格式。data里有我们传入的账号和密码。
这样的话,我们就获得了登录界面。
修改steps
data = {'list': [{'DataSource': 2, 'active': 1, 'calories': int(self.step/4), 'dataSource': 2,
'deviceId': 'M_NULL', 'distance': int(self.step/3), 'exerciseTime': 0, 'isUpload': 0,
'measurementTime': time.strftime('%Y-%m-%d %H:%M:%S'), 'priority': 0, 'step': self.step,
'type': 2, 'updated': int(round(time.time() * 1000)), 'userId': login_result[0]}]}
同理,登录成功后,设置好参数将获取的账号和密码传入,再对获取的网页的 status_code进行访问。
status_code是HTTP状态码,返回值为200表示网络请求成功的意思,返回这个状态表示已经获取到数据了.
当得到200的成功返回数据时,我们返回想要的steps,就可以以假乱真,达到修改teps的目的!!
留点空闲
我们设置一个试错次数,当密码错误或者访问失败超过三次(被反爬)后,返回登录失败,同时也可以设置一个停留时间,在第二天自动修改一个随机steps。
彩蛋!!
**唉,好像忘了点什么…**关注微信公众号“麦香E站”,后台回复“运动”有惊喜。