python---爬取QQ音乐
如Cookie为非vip,仅能获取非vip歌曲
1.下载包
pip install jsonpath
2.代码
import os
import time
import requests
from jsonpath import jsonpathdef search_and_download_qq_music(query_text):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0','Cookie': 'you cookie here'}# 请求的链接# query_text = 'Black Myth wukong'search_url = rf'https://u.y.qq.com/cgi-bin/musicu.fcg?data={{"comm":{{"g_tk":235530277,"uin":"1152921504916411742","format":"json","inCharset":"utf-8","outCharset":"utf-8","notice":0,"platform":"h5","needNewCode":1,"ct":23,"cv":0}},"req_0":{{"method":"DoSearchForQQMusicDesktop","module":"music.search.SearchCgiService","param":{{"remoteplace":"txt.mqq.all","searchid":"64237725668973550","search_type":0,"query":"{query_text}","page_num":1,"num_per_page":20}}}}}}'response = requests.get(search_url)music_list = jsonpath(response.json(), '$..data.body.song.list')[0]# print(f'music_list: {music_list}')if not os.path.exists('Q Music'):os.mkdir('Q Music')for item in music_list:music_mid = jsonpath(item, '$.mid')[0]music_name = jsonpath(item, '$.name')[0]# print(f'music_name: {music_name}, music_mid: {music_mid}')music_data_url = rf'https://u.y.qq.com/cgi-bin/musicu.fcg?data={{"comm":{{"cv":4747474,"ct":24,"format":"json","inCharset":"utf-8","outCharset":"utf-8","notice":0,"platform":"yqq.json","needNewCode":1,"uin":"1152921504916411742","g_tk_new_20200303":1849600344,"g_tk":1849600344}},"req_9":{{"module":"vkey.GetVkeyServer","method":"CgiGetVkey","param":{{"guid":"4868259520","songmid":["{music_mid}"],"songtype":[0],"uin":"1152921504916411742","loginflag":1,"platform":"20"}}}}}}'music_data_response = requests.get(music_data_url)# print(f'music_data_response: {music_data_response.json()}')data_info = jsonpath(music_data_response.json(), '$..purl')[0]# print(f'data_info: {data_info}')music_url = f'https://dl.stream.qqmusic.qq.com/{data_info}'music_response = requests.get(music_url, headers=headers)with open(f'./Q Music/{music_name}.mp3', 'wb') as file:file.write(music_response.content)print(f'《{music_name}》下载成功')print("-" * 20)time.sleep(0.5)# breaksearch_and_download_qq_music("Black Myth wukong")
如果有所帮助请给个免费的赞吧~有人看才是支撑我写下去的动力!
声明:
本文仅用作学习记录和交流
相关文章:
python---爬取QQ音乐
如Cookie为非vip,仅能获取非vip歌曲 1.下载包 pip install jsonpath 2.代码 import os import time import requests from jsonpath import jsonpathdef search_and_download_qq_music(query_text):headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; …...
tomato靶场攻略
1.使用nmap扫描同网段的端口,发现靶机地址 2.访问到主页面,只能看到一个大西红柿 3.再来使用dirb扫面以下有那些目录,发现有一个antibot_image 4.访问我们扫到的地址 ,点金目录里看看有些什么文件 5.看到info.php很熟悉࿰…...
Django+Vue3前后端分离学习(一)(项目开始时settings.py里的设置)
一、创建django项目 二、修改settings.py里的配置: 1、修改语言和时区: # 语言编码 LANGUAGE_CODE zh-hansTIME_ZONE UTCUSE_I18N True# 不用时区 USE_TZ False 2、配置数据库: DATABASES {default: {ENGINE: django.db.backends.m…...
一些数学经验总结——关于将原一元二次函数增加一些限制条件后最优结果的对比(主要针对公平关切相关的建模)
1.没有分段的情况 原函数为一元二次凹函数(开口向下),如下: 因为要使得其存在正解,必须满足,那么。 上述函数的最优结果为:,。 对应的mathematica代码如下: Clear[&q…...
C++ | Leetcode C++题解之第394题字符串解码
题目: 题解: class Solution { public:string src; size_t ptr;int getDigits() {int ret 0;while (ptr < src.size() && isdigit(src[ptr])) {ret ret * 10 src[ptr] - 0;}return ret;}string getString() {if (ptr src.size() || src[…...
getLocation:fail, the permission value is offline verifying
getLocation:fail, the permission value is offline verifying 后端会根据appid和secret生成 签名,前端wx配置时一定用appid来验证签名的正确 本次错误为配置初始化失败:前端与后端的appId不一致,我的失误也...
【数据分享】《中国城市统计年鉴》(1985-2023)全PDF版本 第一次补档
数据介绍 中国城市,如同一本生动的历史书,承载着经济、社会的快速变迁。《中国城市统计年鉴》记录了城市的发展轨迹,是我们理解城市化进程、洞察城市挑战的重要指南。 这份年鉴的数据庞大而详实,囊括了中国城市发展的多个方面。…...
什么是LED智能会议一体机?COB超微小间距LED会议一体机大势所趋
LED智能会议一体机,作为现代会议室革新的核心装备,正逐步颠覆传统会议模式的界限。它不仅仅是一台集成了高清显示、触控互动、音视频处理及远程协作等功能于一体的智能设备,更是推动会议效率与体验双重飞跃的关键力量。随着技术的不断进步&am…...
两种在wordpress网站首页调用woocommerce产品的方法
要在WordPress网站首页调用WooCommerce产品,您可以使用以下方法: 方法1:使用WooCommerce Shortcode WooCommerce提供了一个内置的shortcode,可以直接在WordPress页面或帖子中插入产品。要在首页显示指定数量的产品,请…...
新一代交互模式:LUICUIVUI
随着技术的发展,特别是人工智能和机器学习的进步,交互方式也在不断演变。以下是一些新概念,它们描述了当下和未来可能的交互方式: Conversational UI (CUI): 以对话为基础的用户界面,用户通过自然语言与系统…...
chapter06 面向对象基础 知识点Note
文章目录 前言类的设计 属性和行为对象的内存解析 (堆 栈 方法区)类的成员之一 变量(属性) field类的成员之二 方法 method对象数组方法重载 overload可变个数的形参 语法糖方法的值传递机制递归关键字package importMVC设计模式import导入面向对象特征之…...
【Nginx系列】Nginx中rewrite模块
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
codesys进行控制虚拟轴运动时出现的一些奇怪bug的解释
codesys进行控制虚拟轴运动时出现的一些奇怪bug的解释 问题描述第一个奇怪的bug:新建的工程没有SoftMotion General Axis Pool选项第二个奇怪的bug:在新建工程SoftMotion General Axis Pool选项时,无法手动添加第三个奇怪的bug:虚…...
前端框架有哪些
1. 简介 1.1. 概述 前端框架是指用于帮助开发者更高效地构建、维护和测试Web应用的工具集。这些框架通常提供了一系列的组件、库和工具,使得开发人员可以快速地搭建起一个具有统一设计和功能的应用界面。 2. 前端框架 2.1. React.js 由Facebook维护的一个开源JS库,用于构…...
illusionX——一个从理解情感到改变学习、创新教育体验集成情感计算的混合现实系统
概述 论文地址:https://arxiv.org/pdf/2402.07924.pdf 近年来,情感计算在丰富人类与计算机和机器的交互方式方面备受关注。这一创新领域旨在通过理解和响应用户的情绪和心理状态,将人机交互转变得更加自然和直观。无论是情感识别、面部表情分…...
《黑暗之魂2:原罪学者》是什么类型的游戏 《黑暗之魂》可以在苹果Mac电脑上玩吗?
在宏大的世界观游戏中,《黑暗之魂2:原罪学者》脱颖而出,以其探索性和挑战性征服了全球玩家的心灵。下面我们来看看《黑暗之魂2:原罪学者》是什么类型的游戏,《黑暗之魂2:原罪学者》可以在苹果电脑玩吗的相关内容。 一、《黑暗之魂2:原罪学者》…...
使用C++20协程实现异步I/O操作:实战指南
使用C20协程实现异步I/O操作:实战指南 随着C20的发布,协程(coroutines)作为一种新的语言特性被引入,为异步编程提供了强大的支持。协程使得编写异步代码变得更加简洁和直观,避免了传统回调和状态机的复杂性…...
MySQL之UDF提权复现
什么是UDF: UDF(Userfined function)用户自定义函数,是MySQL的一个扩展接口,用户通过自定义函数可以实现在 MySQL 中无法方便实现的功能,其添加的新函数都可以在 SQL 语句中调用。 提权条件: 知道MySQL用户名和密码…...
html记账本改写:保存数据 localStorage。
<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>记账本改写</title><style>table {user-select: none;/* width: 100%; */border-collapse: collapse;}table,th,td {border: 1px solid…...
frida检测绕过-libmsaoaidsec.so
libmsaoaidsec.so 部分检测手段 检测机制在native层实现一般在init_proc()函数中触发使用 pthread_create 创建2个检测线程 绕过: nop pthread_create 的调用 eg: 在 bilibil1 - v7.26.1版本中, 在got表导入了pthread_create 绕过: 替换dlsym(xx, "pthread_create "…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
