基于Python实现签到脚本过程解析


Posted in Python onOctober 25, 2019

无聊刷日剧,看到签到断了好久,简单写了个脚本,通过模拟抓包的方式实现

1、先登录到字幕组网站获取token

2、用获取到的token登录到人人活动页面获取cookie

3、用获取到的cookie进行签到

import requests
import json
import time
def main():
 # 登录,获取用户信息
 info = json.loads(get_token())
 uid,token = info['data']['uid'],info['data']['token']
 # 登录到活动中心,获取cookie
 cookies = get_huodong(uid,token)
 # 签到
 while True:
 qiandao(cookies)
 time.sleep(10800)
def qiandao(cookies):
 headers["Cookie"] = 'PHPSESSID={}'.format(cookies)
 info_url = "http://h5.rrhuodong.com/index.php?g=api/mission&m=index&a=user_info"
 info = json.loads(get(info_url).text)['data']
 print("称昵:{}\n等级:{}\n人人钻:{}\n".format(info['nickname'],info['main_group_name'],info['point']))
 qiandao_login_url = "http://h5.rrhuodong.com/index.php?g=api/mission&m=clock&a=store&id=2"
 print("签到信息:{}".format(json.loads(get(qiandao_login_url).text)['info']))
def get_huodong(uid,token):
 huodong_login_url = "http://h5.rrhuodong.com/index.php?g=api/mission&m=index&a=login&uid={}&token={}".format(uid,token)
 return requests.utils.dict_from_cookiejar(get(huodong_login_url).cookies)['PHPSESSID']
def get_token():
 token_login_url = "http://a.zmzapi.com/index.php?g=api/public&m=v2&accesskey={}&client=2&a=login&account={}&password={}".format(accesskey,username,passwd)
 return get(token_login_url).text
def get(url):
 content = requests.get(url.format(username,passwd), headers=headers, verify=False, allow_redirects=False)
 return content
if __name__ == '__main__':
 # 浏览器头部
 headers = {
 "User-Agent":"Mozilla/5.0 (Linux; U; Android 9; zh-cn; MI 6 Build/9.0) AppleWebKit/533.1 (KHTML, like Gecko) Version/5.0 Mobile Safari/533.1"
 }
 # 账号、密码、accesskey需要自己抓包
 username = '账号'
 passwd = '密码'
 accesskey="xxx"
 main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 类与元类的深度挖掘 II【经验】
May 06 Python
Python中的Descriptor描述符学习教程
Jun 02 Python
Python单例模式实例详解
Mar 01 Python
Python使用PDFMiner解析PDF代码实例
Mar 27 Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 Python
Python实现的爬取百度文库功能示例
Feb 16 Python
python机器学习库xgboost的使用
Jan 20 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 Python
python中JWT用户认证的实现
May 18 Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 Python
Python使用pyexecjs代码案例解析
Jul 13 Python
python实现大学人员管理系统
Oct 25 #Python
Python队列、进程间通信、线程案例
Oct 25 #Python
python银行系统实现源码
Oct 25 #Python
python Event事件、进程池与线程池、协程解析
Oct 25 #Python
python实现简单银行管理系统
Oct 25 #Python
Python银行系统实战源码
Oct 25 #Python
python实现银行管理系统
Oct 25 #Python
You might like
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
关于COOKIE个数与大小的问题
2011/01/17 Javascript
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
jquery html动态添加的元素绑定事件详解
2016/05/24 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
解决layer.msg 不居中 ifram中的问题
2019/09/05 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
谈谈如何手动释放Python的内存
2016/12/17 Python
python求解数组中两个字符串的最小距离
2018/09/27 Python
python3 mmh3安装及使用方法
2019/10/09 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
StubHub澳大利亚:购买或出售您的门票
2019/08/01 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
教师实习自我鉴定
2013/12/13 职场文书
如何写通讯稿
2015/07/22 职场文书
创业计划书之书店
2019/09/10 职场文书
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android
vue elementUI表格控制对应列
2022/04/13 Vue.js
利用Redis实现点赞功能的示例代码
2022/06/28 Redis