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

yipeiwu_com5年前Python基础

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

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设计】。

相关文章

由面试题加深对Django的认识理解

1. 对Django的认识? #1.Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后...

使用python-opencv读取视频,计算视频总帧数及FPS的实现

如下所示: 1、计算总帧数 import os import cv2 video_cap = cv2.VideoCapture('ffmpeg_test.avi') fram...

Python with关键字,上下文管理器,@contextmanager文件操作示例

本文实例讲述了Python with关键字,上下文管理器,@contextmanager文件操作。分享给大家供大家参考,具体如下: demo.py(with 打开文件): # ope...

python将txt文件读入为np.array的方法

原文件: 7.8094,1.0804,5.7632,0.012269,0.008994,-0.003469,-0.79279,-0.064686,0.11635,0.68827,5....

Win10下Python3.7.3安装教程图解

Win10下Python3.7.3安装教程图解

        到2019年初,Python3已经更新到了Python3.7.3,Python有两个大版本Pytho...