猜歌?没有我猜不到的歌!因为我有Python脚本!

微信小程序 破解版步骤 1 下载微信小程序开发工具0.7.0版本 地址:链接:http://pan.baidu.com/s/1kUWu4Yj密码: 9qkj安装成功以后,通过微信扫描二维码登录,登录成功以后,关掉。 2 下载微信小程序开发工具0.9.0 地址:链接:http://pan.baidu.com/s/1dFt7vLB密码: 6ig7覆盖安装之前的0.7.0版本(也就是安装到同一个文件... 阅读详情

前言

相传,就在前几日,kimol君在网上闲逛时,刷到了一个猜歌的小程序。这个小程序通过播放歌曲部分片段,然后让用户来猜它的歌名,大概是这样的: 原作者:不正经的kimol君

著作权归作者所有,如有侵权联系小编删除!

 

 

作为一个脑热的听歌爱好者,于是他越陷越深,越刷越得劲。可是,他的排名竟一直上不去!正当他惆怅之际,一个绝妙的想法ding的一下就出现了,学会了它,妈妈再也不用担心他的排名上不去了!

一、思路分析

为了搞清楚猜歌的过程是什么样的,首先通过抓包来对请求和响应进行分析。在PC版微信中打开小程序,然后通过Fiddler进行抓包。我们会发现猜歌的过程由两个请求构成。 (ps.当然也可以直接抓手机端的包,但是由于各种原因,会相对复杂一些) 一个是获取歌曲的相关信息(包括答案)。对!你没有听错,返回的数据直接包括了猜歌的答案,请求如下:

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

这是一个get请求,包括了用于登陆验证的token、user_id等,返回的结果为歌曲相关的信息,其中最重要的是answer(红圈部分)。

另一个是发送猜歌请求,如下:

这同样是一个get请求,也包含了token等参数,还包含了提交的答案answer和歌曲的sid。通过返回的is_right字段便可以判断是否猜对。(1则猜对,否则不对)

那么,思路已经很明晰了:通过python编写程序,首先获取歌曲的答案,然后将答案提交。

二、获取答案

首先定义一个类:

class guessStar():
    def __init__(self,token,userId):
        '''
        初始化函数
        '''
        self.token = token # 用户token
        self.userId = userId # 用户ID

随后,根据抓包的请求定义一个获取答案的函数:

def get_answer(self):
    '''
    获取答案函数
    '''
    url = 'https://api.zuiqiangyingyu.net/index.php/api/guess_v2/Index'
    headers = {'Connection':'keep-alive',
               'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat',
               'content-type':'application/json',
               'Accept-Encoding':'gzip, deflate, br'}
    params = (('token',self.token), # 用户token,需要换成自己的
              ('user_id',self.userId), # 用户ID,需要换成自己的
              ('wechat_type','wechat_song'))
    res = requests.get(url,headers=headers,params=params) # 发送请求
    data = res.json() # 获取返回结果(json格式)
    music = data['d']['list'][0] # 音乐数据
    sid = music['id'] # 音乐ID
    answer = music['answer'] # 对应的答案
    return (sid,answer)

这个请求很简单,只需要将数据包对于的url、参数、请求头等模拟出来即可。

三、提交答案

同样,通过抓包分析后定义一个提交答案的函数:

def guess(self,sid,answer):
    '''
    猜歌函数
    '''
    url= 'https://api.zuiqiangyingyu.net/index.php/api/guess_v2/Sub'
    headers = {'Connection':'keep-alive',
               'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat',
               'content-type':'application/json',
               'Accept-Encoding':'gzip, deflate, br'}
    params = (('token',self.token), # 用户token,需要换成自己的
              ('user_id',self.userId), # 用户ID,需要换成自己的
              ('sid',sid), # 音乐ID
              ('answer',answer), # 答案
              ('wechat_type','wechat_song'))
    res = requests.get(url,headers=headers,params=params)
    result = res.json()['d']['user']['is_right'] # 猜歌的结果
    return result

函数返回的是is_right字段,如果是1则表示答案正确,否则则是错误的。

四、猜猜猜

有了get_answer()和guess()函数,我们便可愉快地开始自动化猜歌答题了,定义如下函数:

def do_guess(self,num):
    '''
    进行猜歌(通过num指定次数)
    '''
    N = 0
    while True:
        sid,answer = self.get_answer()
        result = self.guess(sid,answer)
        if result == '1': # 如果猜对 
            N += 1
            print('第%s首歌回答正确!'%sid)
        else:
            print('第%s首歌回答错误!'%sid)
        if N >= num: # 如果达到指定次数
            break

其中num参数表示猜歌的次数。在主函数中调用它:

if __name__ == '__main__':
    star = guessStar('xxxx','xxx')
    star.do_guess(1001) # 开始猜歌

xxxx分别表示账号的token和用户ID,这里需要大家换成自己的。所谓一千零一夜,于是我也跑1001次好了,run一下:

在运行之前,我是这样的:

运行之后,我是这样的:

没有错,我的排名正在噌噌噌地往上升!! 舒服了~~

写在最后

我想本篇文章的真正意义不是代码本身,而是希望为大家提供更加广泛的思路:

Python不仅是课堂上纷繁复杂的理论知识,还能为我们的生活提供便利; Python不仅是项目中枯燥无味的日复一日,还能为我们的生活带来欢乐; Python不仅是成长里孜孜不倦的埋头苦学,还能为我们的生活增添成就;

无论是Python、Java、C,乃至摄影、绘画。whatever,它们都是我们兴趣或是谋生的技能。我想,只有真正的热爱它们,它们也才能在我们的生活中更好地结出盛果、生根发芽!

我是kimol君,咋们下次再会~


 

 

python谁是卧底、猜词语 python谁是卧底 谁是卧底也是深受很多人喜欢的游戏,起码要三人以上才能玩,大致分为几个阶段: 1.分配平民词语和卧底词语—> 2.玩家依次发言—> 3.根据发言投票认为谁是卧底—> 4.得到票数最多的玩家出局—> 5.出局玩家刚好是卧底则平民胜利,如果出局玩家是平民则被冤死并继续第2步,当剩下的平民只有1个时卧底胜利。 特殊情况是,出现两名或以上的玩家票数相同,则相同票... 阅读详情

相关推荐

微信小程序,Python爬虫抓包采集实战,采集某成考题库小程序

加密参数,此时就比较麻烦了,因为我们没有办法进行调试,如果该参数需要解析,那还面临小程序解包这一问题,不过后续的实际分析,让我松了一口气,该参数并未参加运算。找到下述路径的文件夹,然后清空该文件夹,接下来重新启动微信,此时就可以获取小程序中的 https 请求了,效果图如下所示。如果仅有这些参数,此时可以在一空白谷歌浏览器中进行迭代,即判断是否可以直接通过题号切换,获取所有试题。题目获取成功,得到题干,选项,解析,包括试卷题目总数等信息,有这些数据之后,就可以进入编码实战环节。...

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+

学会这招,妈妈再也不担心我的排名上不去了

学会这招,妈妈再也不担心我的排名上不去了前言一、思路分析 Tip:本文仅供学习与参考,且勿用作不法用途~ 前言 相传,就在前几日,kimol君在网上闲逛时,刷到了一个猜歌的小程序。这个小程序通过播放歌曲部分片段,然后让用户来猜它的歌名,大概是这样的: 作为一个脑热的听歌爱好者,于是他越陷越深,越刷越得劲。可是,他的排名竟一直上不去!正当他惆怅之际,一个绝妙的想法ding的一下就出现了,学会了它,妈妈再也不用担心他的排名上不去了! 一、思路分析 为了搞清楚猜歌的过程是什么样的,首先通过抓包来对请求和响应

kimol君的博客 1万+

挑战答题小程序5.3.1开源,绝对能用无暗门

前台+后台 全部可以使用,精品源码不免费,使用简单操作方便

python小程序——实现答题作弊

本程序可实现对已给出题库的网页知识答题活动能够自动给出答案功能

shiwen233的博客 3961

iTunesAPI_GuessGame:使用iTunes API,猜猜播放的歌曲片段!

iTunes猜歌游戏 在此项目中,您将使用iTunes查找API获取歌曲的网址,然后为用户播放歌曲。 用户应猜出歌曲标题,艺术家姓名或专辑。 细节 您会得到一个带歌曲ID列表的songs.js文件。 使用歌曲ID和iTunes查找API播放随机歌曲。 开始播放歌曲,并向用户显示一个输入字段,以猜测歌曲名称,艺术家名称或专辑名称。 告诉用户猜测是正确的还是不正确的。 另外,在同一页面上显示歌曲标题,歌手姓名,专辑名称和专辑封面。 创建一个统计屏幕,告诉用户有多少个猜测是正确或不正确的。 设置页面样式,使游戏看起来更具吸引力。 奖金 高级匹配。 使您的歌曲匹配检查更为宽松。 例如,如果用户键入Happy,歌曲Happy(神偷奶爸2)应该仍然是正确的。 您可以通过分割字符串并查看每个单词,或使用正则表达式来完成此操作(正则表达式更具挑战性,但对学习很有用)。 研究类似引导程序的样式库,

一个上机考试作弊的小程序

一个上机考试作弊的小程序,可以快速找出答案。

猜歌游戏怎么玩?有攻略吗?

猜歌是一款益智类型的小游戏 ,可以通过几秒钟的歌曲部分,快速抢占答出歌曲名称,拼手速和曲库容量的时候了 猜歌是一款休闲益智猜谜类游戏。采集了我是歌手、流行歌曲、经典老歌、网络歌曲等经典歌曲,如果遇到不好猜的可以可以通过微信向您的朋友求助,大家一起玩才好玩。 ...

zhou507666的博客 1015

壹度答题小程序V2_1.0.3全开源解密版+小程序前端.zip微信小程序模板源码

壹度答题小程序V2_1.0.3全开源解密版+小程序前端.zip微信小程序模板源码

python中不论类的名字是什么歌_Python自动猜歌名,还愁排名上不去嘛?

前言相传,就在前几日,在网上闲逛时,刷到了一个猜歌的小程序。这个小程序通过播放歌曲部分片段,然后让用户来猜它的歌名,大概是这样的:作为一个脑热的听歌爱好者,于是他越陷越深,越刷越得劲。可是,他的 「排名竟一直上不去」!正当他惆怅之际,一个绝妙的想法 「ding」的一下就出现了,学会了它,妈妈再也不用担心他的排名上不去了!一、思路分析为了搞清楚猜歌的过程是什么样的,首先通过抓包来对请求和响应进行分析...

weixin_35723924的博客 210

微信答题小程序,可用于内部考核,考试预约,内部评分等,使用小程序自带云环境

答题小程序云开发版 使用小程序原生云开发搭建, 界面使用- 目标功能: 1.由原生云数据库储存题库 2.随机出题 3.回答评分 4.练习题目 5.预约教师 目前以实现功能: 1.随机从题库中抽取题目,以及答题页面的实现 2.登录界面美化 3.评分功能构建,使用云函数 4.关于页面构建完成 5.教师预约,评分,留言功能 基本完成全部功能,除了欢迎界面太丑暂时不想更改! 欢迎体验 界面展示 欢迎界面: 注册界面: 主页界面: 练习界面: 答题界面: 预约界面: 详细预约 预约确认 评论界面: 反馈界面: 其他 由于实在不会写MD文档,随意写了下,排版较乱,见谅! 题库数据已经给出 业余作品,暂时停止更新,只能提供简单的支持。 数据库相关 数据表相关设置请看images文件夹内截图。 参考文档

手把手教你用U盘制作Win11启动盘:从PE工具到系统安装全流程

本文提供了一份详尽的Windows 11启动盘制作与系统安装全流程指南。从选择合适的U盘和PE工具开始,重点讲解了如何正确制作包含EFI引导分区的启动盘,并详细演示了在PE环境下进行GPT分区、使用CGI工具安装系统镜像,以及首次启动后的关键设置步骤,帮助用户轻松完成从零到一的系统安装。

weixin_28475533的博客 1287

python破解猜数游戏

QQ群里的聊天机器人会发起猜数小游戏. 玩法如下: 1.用户发 #猜数    到群里 2.机器人响应: 猜数已经开始, 范围是1-10000之间的某个数 3. 你发送 #猜数[123] 到群里 4. 机器人响应: 大了或者小了, 或者恭喜你猜中了 5. 你根据刚才猜的123, 和返回, 猜一个更小或更大的数, 发送 #猜数[111] , 即返回第2步 那么最好的猜测方法

糯米糊糊的专栏 2530

Zlib1.2.11源码编译(Win10+VS2019)

下载 下载网址: zlib Home Site 得到文件: 解压缩到“D:\SourceCodes\zlib-1.2.11” 使用CMake配置、生成并打开项目 将CMakeLists.txt拖入CMake,配置(Configure): 生成(Generate) 打开项目(Open Project),CMake调用VS2019打开项目 生成debug版本 构建项目ALL_BUILD。成功生成debug版本 在“D:\Sourc...

Alexabc3000的专栏 1893

【2021-12-30】我爱林俊杰之猜歌游戏

python基础

林家小橘de博客 1980

电赛经验分享——赛前准备

⏩ 大家好哇!我是小光,想要成为系统架构师的嵌入式爱好者。⏩在之前的电赛中取得了省一的成绩,本文对电赛比赛前需要准备什么做一个经验分享。加入小光嵌入式交流群(qq群号:737327353)免费获取博主所有资料哦!

qq_52608074的博客 7779

3分钟学会SQL中的断点去重技术,轻松搞定连续重复数据去重问题?

传感器采集的温度数据中,存在连续重复的值,需仅在数值变化时保留记录(例如:温度从 25°C 变为 26°C 时记录一次)。:判断逻辑,current_value!若当前温度与前一行的温度不同(或为第一条记录),则保留该行。的技术,常用于时间序列或状态日志中。:将连续相同值的记录合并,只保留断点处的记录。保留断点处的记录(即温度变化时的第一条)。原始数据表 sensor_data。最终仅保留值变化的断点记录。获取前一行的温度值。

石榴姐yyds 1019

通过Python模拟计算附近WIFI密码,没有我蹭不到的网

事情是这样的,最近小学妹毕业了,找了份工作,昨天租了个房子,但是没得WiFi,还好我会Python, 于是吃晚饭的时候我顺手用Python给她写了一个代码来自动猜解WiFi密码。

人生苦短, 还不用Python? 2080

【2025最新版】ABAP 开发百科全书专栏文章目录(上)

本文汇总了一系列SAP ABAP技术文章,内容涵盖实用技巧合集、函数式编程实践(如Currying、reduce应用)、设计模式实现(如Visitor、Singleton)、动态代理与Mock技术、性能优化方案(如Lazy Loading)、日期处理与内存管理,以及ABAP与JavaScript的编程范式对比。还涉及CDS视图、Fiori字段追踪、单元测试优化等实战经验,深入剖析了ABAP底层机制(如Internal Session、Function Module实现原理),并提供了多种反模式改进方案。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2465

Python爬取全民k歌

前言 总有一些人的声音,你永远忘不掉 正文 有听她唱的歌写作业的习惯,前几天在下了一个全民k歌PC版,发现不能连续播放,那给我气啊。。。于是去官网游了一遍没发现啥,但是发现了歌曲的分享链接 浏览器访问,Network发现一个Response Header中Content-Type为audio/mp4,再看Request Url的Get参数,发现其中有一个名为fname的变量,不难想到它就是file name,那么其值就是歌曲文件的文件名了 Elements 发现了audio标签,src就是刚才的m

paradise_c的博客 1743

【计算机视觉 | 目标检测】目标检测常用数据集及其介绍(十一)

【计算机视觉 | 目标检测】目标检测常用数据集及其介绍(十一)

wzk4869的博客 738

站在评审的角度写国自然基金本子,搭配这5条AI提示词,帮你一键提升本子中标率

多数同仁的选题失败,不是因为你的idea不好,而是你的逻辑没有立起来,你必须让评审看到,你是怎么从问题走向方法的。请你按照“同行做到哪、瓶颈卡在哪、我该怎么破”的逻辑,将我的创新点进行重构:【粘贴你原始的创新点描述】,要求:表达需结构化、可量化、可验证,突出对比后的实质性突破。与其等着评审指出问题,等着本子被拒,不如让AI提前模拟评审,帮你从可行性、创新性、国家价值、团队能力四个维度给你打分,并指出项目的致命破绽,提示词这样设计。创新点如果写不好,本子往往也会被拒,而评审一般喜欢的创新点都是有固定结构的。

智能AI让学术科研更容易 1239

python猜数游戏在程序中预设一个_Python基础之猜数游戏

例题一:猜数游戏。在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了”;小于预设的数,显示“遗憾,太小了”,如此循环,直至猜中该数,显示“预测N次,你猜中了!”,其中N是用户输入数字的次数。#-----------猜数游戏1---------Set_number = 6 #0~9之间的整数Guess_number = int(input("请输入...

weixin_39960147的博客 5754

51单片机入门指南-基于STC89C52(持续更新)

一、环境介绍 编程IDE: keil5 单片机型号: STC89C51/52 开发板: 普中科技的开发板 完整PDF资源下载地址:https://download.youkuaiyun.com/download/xiaolong1126626497/19785856 二、51单片机开发手册介绍 2.1 前言 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。 该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最.

8797
上一篇: 用Python爬取了三大相亲软件评论区!结局居然是这样!
下一篇: 都说B站难爬?这也不难啊!
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值