最近在抓取QQ音乐歌手粉丝数量时,发现参数多了一个sign

如果不传这个参数返回的结果

所以用了2个多小时一直debug看了一下生成sign参数的源码

源码地址:https://y.qq.com/component/m/qmfe-security-sign/index.umd.js?max_age=2592000

刚开始我以为直接导入js,调用window.getSecuritySign(JSON.stringify(data)),可以直接获取sign,可是结果一直不正确。

我就想是不是源码里有什么比较,只让QQ音乐那边的页面返回正确结果,然后就开始了2个小时的debug

在此中间果然发现了蹊跷

后面继续debug

结果差不多已经出来了,QQ音乐那边 location.host = y.qq.com

又看到indexOf,后面肯定还有一个参数是y.qq.com

后面执行函数

"y.qq.com"['indexOf'].apply('y.qq.com',['y.qq.com']) ---->放到浏览器跑一下 返回值为0

下一步

0 === -1 返回false,所以g[15] = false

下一步

到这里 如果是我们本地运行的话,h是会赋值为963的,而QQ音乐那边则还是934(h是l数组的下标,而l数组存储的数据是调用n这个方法数组对应的方法的,具体就是n[l[h]]()

),这样导致我们本地运行出来结果是错误的

最后,一直debug会看到如何获取sign参数。

分析出来的代码:

let str = 'abcdefghijklmnopqrstuvwxyz0123456789';

let count = Math.floor(Math.random() * 7 + 10);

let sign = 'zza';

for(let i = 0; i < count ; i++){

sign += str[Math.floor(Math.random() * 36)];

}

sign += window.__sign_hash_20200305('CJBPACrRuNy7'+JSON.stringify(data));

data就是请求中data参数的值

目前基本上没有什么问题

对于__sign_hash_20200305()这个加密算法,看不太明白,只能借助着这个方法来生成sgin

php获取千千音乐的sign,关于QQ音乐sign参数的获取相关推荐

  1. iOS之基于FreeStreamer的简单音乐播放器(模仿QQ音乐)

    代码地址如下: http://www.demodashi.com/demo/11944.html 天道酬勤 前言 作为一名iOS开发者,每当使用APP的时候,总难免会情不自禁的去想想,这个怎么做的?该 ...

  2. 百度网盘的音乐怎么分享到qq音乐里?

    百度网盘,是很多小伙伴都在使用的云存储软件,支持存储图片.音乐.文件.视频等等内容,那我们怎么把百度网盘的音乐怎么分享到QQ音乐呢?下面小编就给大家分享一下百度网盘把音乐分享到QQ音乐的教程. 百度网 ...

  3. python爬虫基础Ⅱ——Ajax数据爬取、带参请求:QQ音乐歌单、QQ音乐评论

    文章目录 基础爬虫部分Ⅱ Ajax技术 json 1. Network 2. XHR怎么请求? 3. 什么是json? 4. json数据如何解析? 带参数请求 1. 复习 2. params 3. ...

  4. ios音乐播放器-仿QQ音乐

    这篇文章主要写一个iOS系统下的音乐播放器 , 包括简单的仿QQ音乐播放器界面.音乐播放.歌词解析.后台控制等  ,如果你正好需要 , 希望你看完后能够对你的提升有所帮助 , 当然,阅读中如果发现什么 ...

  5. selenium实战-同步网易云音乐歌单到qq音乐

    本文主要介绍selenium在爬虫脚本的实际应用.适合刚接触python,没使用过selenium的童鞋.(如果你是老司机路过的话,帮忙点个star吧) 项目地址 https://github.com ...

  6. 怎样用计算机放音乐,QQ音乐怎么用手机控制电脑放歌曲,qq音乐怎么连接电脑|qq音乐怎么用手机控制电脑...

    新版的QQ音乐有个非常好用的功能不知道大家是不是在使用呢?那就是QPLAY,用这个功能可以遥控你电脑的QQ音乐,想要玩下这个吗?看看小编给大家分享的qq音乐遥控电脑教程吧!让大家知道qq音乐qplay ...

  7. 如何用手机上的计算机弹音乐,如何使用手机qq音乐遥控电脑播歌

    在qq音乐中,可以使用手机遥控电脑播放歌曲的功能,对于新用户来说,可能不知道具体的操作步骤,下面就让学习啦小编告诉你如何使用手机qq音乐遥控电脑播歌. 使用手机qq音乐遥控电脑播歌的方法 首先手机要连 ...

  8. android+仿ios+音乐播放器,iOS简单的音乐播放器(仿QQ音乐)

    AVPlayer实现基本的播放,暂停,上一首,下一首,调节音量,调节进度等,正在学习的新人可以看下,有什么不足可以互相学习,谢谢支持 qq音乐.gif 这个是我写的一个简单的低仿QQ音乐, 如果你也喜 ...

  9. 基于python的音乐数据分析_Python对QQ音乐进行爬取并进行数据分析

    三方包引入 使用到了以下包: 爬虫 scrapy 网络测试 requests 数据分析 numpy和pandas 绘图 matplotlib和wordcloud pip install scrapy ...

最新文章

  1. 皮一皮:我是谁,我在哪里,我的爸爸是哪个?
  2. 什么是document对象?如何获取文档对象上的元素?_javascript自学记录:Document类型...
  3. Hello Blazor:(1)像ASP.NET WebForm一样写代码
  4. ubuntu11.04下CUDA4.0的安装与配置
  5. 让人想骂街的 Python 炫技操作:条件语句的七种写法
  6. 解决Centos 7安装在虚拟机中没有图形界面的问题
  7. php 微信时间戳转换工具,微信小程序时间戳转换
  8. android源码编译出错的原因
  9. WCF在多个服务中使用事物
  10. AirServer Mac Airplay投屏工具
  11. 张涵诚:龙头企业应承担起产业数据生态构建的重任
  12. OKR与KPI有什么区别
  13. 联手新加坡南洋理工大学,阿里加速推进人工智能战略
  14. cron每小时执行一次的表达式
  15. 模型预测控制(MPC)的公式推导与理解 (转)
  16. seek 方法java,Seek.java
  17. Vue 和 React 的区别
  18. TP50、TP90、TP99、TP999简易理解
  19. 玩转微信小程序 之 初步了解微信小程序(2019/04/05)
  20. 揭秘全球首个火星车数字人背后的百度数字人技术

热门文章

  1. 2017 Material design 第三章第三节《图像》
  2. Ubuntu视频没有声音
  3. 英文歌曲:Yesterday Once More(昨日重现)
  4. pytorch dataset自定义_PyTorch 系列 | 数据加载和预处理教程
  5. 腾讯云域名证书下载_备案域名证书获取
  6. windows打印机服务开启方法
  7. EOS的中心化,该中国财团背锅吗?
  8. 2021年江西省上饶市高考成绩查询,2021年上饶高考状元名单公布,上饶文理科状元是谁多少分...
  9. 微信小程序有哪些?401~500
  10. mysql全套理解以及在php中的应用