[Python] 纯文本查看 复制代码import requests

import json

import time

#pyinstaller -D -i favicon.ico crawl.py

class Crawl():

#初始化cookies

def __init__(self):

self.login_ticket = "";

self.account_id="";

self.login_uid="";

self.cookie_token="";

#get请求

def get(self,url):

payload = {}

headers = {

'Cookie': 'login_uid='+self.login_uid+'; account_id='+self.account_id+'; login_ticket='+self.login_ticket+'; cookie_token='+self.cookie_token,

}

response = requests.request("GET", url, headers=headers, data = payload)

return json.loads(response.text)

#post请求

def post(self,url,data):

headers = {

'Cookie': 'login_uid='+self.login_uid+'; account_id='+self.account_id+'; login_ticket='+self.login_ticket+'; cookie_token='+self.cookie_token

}

response = requests.request("POST", url, headers=headers, data = data)

return json.loads(response.text)

def post2(self,url):

headers = {

'Cookie': 'login_uid='+self.login_uid+'; account_id='+self.account_id+'; login_ticket='+self.login_ticket+'; cookie_token='+self.cookie_token

}

response = requests.request("POST", url, headers=headers, data = {})

return json.loads(response.text)

#获取以获得的物品

def item_list(self):

url = "https://api-takumi.mihoyo.com/event/e20200828bingo/item_list"

res = self.get(url)

return res

#分享

def share(self):

url = "https://api-takumi.mihoyo.com/event/e20200828bingo/share"

res = self.get(url)

return res

#获取基本信息,是否分享,还剩翻卡次数

def home(self):

url ="https://api-takumi.mihoyo.com/event/e20200828bingo/home"

res = self.get(url)

return res

#获取验证码

def getCaptcha(self,mobile):

body ={"action_type":"login","t":"1599809011444","mobile":mobile}

url = "https://webapi.account.mihoyo.com/Api/create_mobile_captcha";

res = self.post(url,body)

return res

def login(self,mobile,captcha):

body ={"mobile_captcha":captcha,"is_bh2":"false","action_type":"login","t":"1599809011444","mobile":mobile}

url = "https://webapi.account.mihoyo.com/Api/login_by_mobilecaptcha";

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36',

}

session = requests.session()

response = session.post(url, headers=headers, data = body)

res = json.loads(response.text)

if(res["code"] == 200 and res["data"]['status'] == 1 ):

self.login_ticket = str(res["data"]['account_info']['weblogin_token']) ;

self.account_id= str(res["data"]['account_info']['account_id']);

self.login_uid= str(res["data"]['account_info']['account_id']);

cookies_url = "https://webapi.account.mihoyo.com/Api/cookie_accountinfo_by_loginticket?t=1599809011444&login_ticket="+res["data"]['account_info']['weblogin_token']

headers = {

'Cookie': 'login_uid='+self.login_uid+'; account_id='+self.account_id+'; login_ticket='+self.login_ticket

}

response = session.get(cookies_url, headers=headers)

cookies_res = json.loads(response.text)

self.cookie_token= str(cookies_res["data"]['cookie_info']['cookie_token']);

def gameinfo(self,flag):

url = "https://api-takumi.mihoyo.com/event/e20200828bingo/"+flag

if(flag == 'start'):

res = self.post(url,{})

else:

res = self.get(url)

return res['data']['game_id']

def click(self,game_id):

sum = 0

for i in range(9):

url = "https://api-takumi.mihoyo.com/event/e20200828bingo/next?game_id="+str(game_id)+"&index="+str(i);

res = self.post2(url)

if res["message"] == "OK":

sum +=1

if sum == 9:

print("本轮翻卡完毕")

def saveCookies(self):

t = time.time()

item = {

"login_ticket":self.login_ticket,

"t":t,

"account_id":self.account_id,

"login_uid":self.login_uid,

"cookie_token":self.cookie_token,

}

jsonstr = json.dumps(item,ensure_ascii=False)#转json

try:

f =open("./cookies.json",'r')

f.close()

except IOError:

f = open("./cookies.json",'w')

print("新建了文件cookies.json")

f = open("./cookies.json",'w+',encoding='utf-8')

f.write(jsonstr)

f.close()

print("cookies保存成功")

def readCookies(self):

try:

t = time.time()

f =open("./cookies.json",encoding='UTF-8')

item = json.load(f)

if t-item['t']>3600:

return False

else:

self.login_ticket = item['login_ticket']

self.account_id = item['account_id']

self.login_uid = item['login_uid']

self.cookie_token = item['cookie_token']

return True

f.close()

except IOError:

return False

if __name__ == '__main__':

#主程序

crawl = Crawl()

# 登录

if crawl.readCookies() == True:

word = input("您在一小时前登录过,是否读取cookies登录,回车确认,输入n/N进行登录")

if word != "":

print("开始登录————")

mobile = input("请输入手机号码:")

print("开始获取验证码————")

print(crawl.getCaptcha(mobile))

captcha = input("请输入验证码:")

crawl.login(mobile,captcha)

crawl.saveCookies()

else:

print("开始登录————")

mobile = input("请输入手机号码:")

print("开始获取验证码————")

print(crawl.getCaptcha(mobile))

captcha = input("请输入验证码:")

crawl.login(mobile,captcha)

crawl.saveCookies()

#分享

homeRes = crawl.home()

nowday_share_cnt = homeRes['data']['nowday_share_cnt']

if nowday_share_cnt == 0:

print("开始分享————")

print(crawl.share())

#获取基本信息

print("获取基本信息————")

homeRes = crawl.home()

lucky = homeRes['data']['lucky']

chance = homeRes['data']['chance']

print("当前幸运值:"+str(lucky))

print("可抽卡数:"+str(chance))

word = None

while word != "":

word = input("是否进行翻卡,继续请输入回车,退出请直接关闭")

if chance == 0:

print("您今天的抽卡已经到达上限,请次日再来")

word = None

while word != "":

word = input("您的今日的翻卡完毕,请输入回车关闭程序")

exit()

print("开始翻卡————")

new_round = homeRes['data']['new_round']

for index in range(chance):

print("开始第"+str(index+1)+"次翻卡")

if new_round == True:

flag = "start"

game_id = crawl.gameinfo(flag)

crawl.click(game_id)

else:

flag = "game_info"

game_id = crawl.gameinfo(flag)

crawl.click(game_id)

word = None

while word != "":

word = input("您的今日的翻卡完毕,请输入回车关闭程序")

python抽卡游戏_【python爬虫】原神公测预抽卡活动自动化抽卡脚本(一小时免登陆)...相关推荐

  1. epic怎么添加本地游戏_游戏日报:原神公测无法上架多家安卓渠道;Epic投资布局游戏UGC平台...

    // 热点标签 ///  NOCITCE 华为|小米|OPPO|米哈游|腾讯|莉莉丝 B站|阅文集团|Epic|万国觉醒|灰烬战线 FGO|怪物弹珠|勇者斗恶龙|金币大师 阴阳师|和平精英|王者荣耀| ...

  2. 原神ps无法登录服务器未响应,原神公测常见问题与解答,包括配置需求、数据互通问题...

    你现在的位置: 首页 > Next > 小个性 根据米哈游官方信息,<原神>全球同步公测(PS4.IOS.Andriod.PC)将于 9 月 28 日开启,公测开服时间为 9 ...

  3. 7-39 抽卡游戏 (30分) 本题的灵感来源于一个古典的概率模型。 AliceAliceAlice 在一个卡池里抽卡,里面有 xxx 张 sss 卡和 yyy 张 aaa 卡。 AliceAlice

    7-39 抽卡游戏 (30分) 本题的灵感来源于一个古典的概率模型. AliceAliceAlice 在一个卡池里抽卡,里面有 xxx 张 sss 卡和 yyy 张 aaa 卡. AliceAlice ...

  4. python抽卡游戏,利用Python实现阴阳师自动抽卡,SSR手到擒来,开始爆肝!

    前言 现在版本官方已经有了自动御魂.觉醒和探索的脚本了. 既然是这样那不如就搞一个抽卡的脚本好了,这样大佬(土豪,欧皇)们 几百连抽就不用画符,和点SSR点到手软了XD. (Ps:过年了,祝大家SSR ...

  5. 使用python开发网页游戏_四大游戏编程网站,边玩游戏,边学Python,拒绝枯燥快乐编程...

    原标题:四大游戏编程网站,边玩游戏,边学Python,拒绝枯燥快乐编程 前言 学习编程虽然对有些人来说是件乐事,但是对大多数人来说仍然是一件比较枯燥困难的事情.当然,面临这样困惑的人,并不是只有你一个 ...

  6. 小学生python编程写游戏_教你如何像玩游戏一样学Python

    原标题:教你如何像玩游戏一样学Python 在编程世界,关于哪个语言是最好的争论从未停止,虽然道理谁也不服谁,但是关于编程的热度,我们可以从TIOBE 编程语言排行榜中得到结果. ▲用Python进行 ...

  7. python·pygame小游戏--中国象棋(原码附上,免费下载)

    大家好我是小豪,今天给大家带来的是pygame小游戏-中国象棋 因为看到博客上面很多上传了的中国象棋py文件,都是收费的.所以我大胆的上传个免费的-已经把原码上传了,感兴趣的可以去下载. pygame ...

  8. python 知乎美女_知乎大神用Python爬取高颜值美女(爬虫+人脸检测+颜值检测)

    原标题:知乎大神用Python爬取高颜值美女(爬虫+人脸检测+颜值检测) 1 数据源 知乎话题『美女』下所有问题中回答所出现的图片 2 抓取工具 Python 3,并使用第三方库 Requests.l ...

  9. python编写剪刀石头布游戏_闲着也是闲着:PYTHON 编写剪刀石头布游戏

    闲着也是闲着:PYTHON 编写剪刀石头布游戏 突如其来的一场变故,使得这个假期尤为的漫长,特别是不知什么时候终结的假期,尤其的漫长.闲着也是闲着,不如来学习学习Python吧. 我学习新的语言,不喜 ...

最新文章

  1. 年纪最小90后,他们在北大教AI
  2. 10上wsl位置迁移_wsl的安装/升级笔记
  3. mysql常见面试题
  4. 腾讯开源首个医疗AI项目,业内首个3D医疗影像大数据预训
  5. 给大学生分享一下我的编程人生
  6. xtrabackup实现数据备份与恢复
  7. Remmarguts' Date(POJ2449+最短路+A*算法)
  8. 清空输入缓冲区fflush()
  9. 打造含有 Mali Graphics Debugger 支持的虚幻引擎应用程序
  10. python3librequest_python3.x學習之urilib.request簡單學習
  11. C语言文件读写操作总结
  12. 30个超实用Python代码片段
  13. MySql安装root用户密码设置失败问题解决
  14. 【用友凭证打印】自定义纸张尺寸对照表
  15. 深圳绘制SVG地图数据
  16. 推荐新唐工业级ARM9(NUC972DF62Y),集成64M DDR2,多至11个串口
  17. UserAgent 解析
  18. android 第三方相册,相册选择图片
  19. VMware Workstation Pro 16下载地址及key
  20. jQuery选择器及事件

热门文章

  1. 服务器lunix系统开启多用户,Ubuntu 服务器设置软件多用户访问
  2. Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
  3. visual studio 2017 显示行号
  4. 38. 统计一个整数的二进制表示中bit为1的个数
  5. [NOIP2010提高组]关押罪犯
  6. 在ASP.NET Core使用Middleware模拟Custom Error Page功能
  7. HDU2602Bone Collector 简单0-1背包
  8. 投资股权众筹项目,至少需要关注6个方面
  9. EDM邮件营销时应该远离的8大不良做法
  10. 转:min(x,y)高效算法