python:想要什么资源,直接上去莽就完事了~

全套Python课程~ 今天是元宵节,元宵节过后很多朋友就要开学啦~提前祝大家开学快乐! 今天给大家分享一套详细全面的Python系统课程,总共有637集,从入门到精通。大家可以先收藏下开学后后慢慢学! 【Python基础】Python_PYTHON入门_零基础Python入门_Python爬虫_Python400集_20天掌握Python_寒假弯道超车!https://www.bilibili.com/video/BV1LS4y1L7PL/ 【Python基础】Python_PYTHON入门_零基.. 阅读详情

前言

嗨喽,大家好呀,这里是魔王~

我们空闲时都会听听音乐,放松一下自己的心情,每个人都会有自己喜欢的歌手或歌

但是通常一个平台不能完全找到,因为版权原因,经常需要几个软件跨着听,非常的麻烦

那么现在,我们直接来用代码全部下载下来用本地播放器播放,美滋滋!

开发环境:

  • 版 本:python3.8
  • 编辑器:pycharm

所使用模块

  • requests
  • prettytable

这两个都是第三方模块,所以我们需要安装:

  1. win + R 输入cmd 输入安装命令 pip install 模块名 如果出现爆红 可能是因为 网络连接超时 切换国内镜像源

  2. 在pycharm中点击Terminal(终端) 输入安装命令


如何配置pycharm里面的python解释器?

  1. 选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解释器)
  2. 点击齿轮, 选择add
  3. 添加python安装路径

pycharm如何安装插件?

  1. 选择file(文件) >>> setting(设置) >>> Plugins(插件)
  2. 点击 Marketplace 输入想要安装的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese
  3. 选择相应的插件点击 install(安装) 即可
  4. 安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效

流程思路

本次主要实现

  1. 搜索功能
  2. 下载歌曲功能

搜索功能

  1. 发送请求 向以前的搜索功能接口发送 请求
  2. 获取数据 获取所有歌曲信息数据
  3. 解析数据 歌曲 歌手名 专辑 歌曲mid(用来下载歌曲必须要的参数)
  4. 格式化输出
  5. 下载歌曲功能

通过获取的歌曲mid 拼接 需要的音频url

解答、资料、源码点击领取~

  1. 发送网络请求 需要的音乐url
  2. 获取数据 获取 里面生成的 部分音乐链接 合并 (mp3 数据所在的链接了)
  3. 发送请求 (mp3 数据所在的链接了)
  4. 获取数据 音乐二进制数据
  5. 保存数据

代码

import requests     # 发送网络请求
import json
import prettytable as pt


headers = {
    'cookie': 'pgv_pvid=7300130020; tvfe_boss_uuid=242c5295a1cb156d; RK=6izJ0rkfNn; ptcz=622f5bd082de70e3e6e9a077923b48f72600cafd5e4b1e585e5f418570fa30fe; ptui_loginuin=1321228067; luin=o3452264669; o_cookie=3452264669; ts_uid=5501087131; fqm_pvqid=89ea2cc7-6806-4091-989f-5bc2f2cdea5c; lskey=00010000d96bdb23303bc141246a5c2f9a02cf45acf079eaab6645fdc10923e7a0eaac09aa24533ab1299555; fqm_sessionid=d77623f3-4dd0-4709-8e50-a34986b17344; pgv_info=ssid=s4530794666; ts_last=y.qq.com/; ts_refer=ADTAGmyqq; _qpsvr_localtk=0.8458135546904957; euin=oK6kowEAoK4z7eclow6qoiSz7z**; psrf_qqrefresh_token=; psrf_qqaccess_token=; wxuin=1152921504872193707; psrf_qqopenid=; wxrefresh_token=53_FHlMDgGCCfOUCXRxCMGFGYHxwtDV0_rZANu84l_KrYtPYRVSWqpxoWqojdj1coj4CF_H4qNrXw0WrZtQdlsozcwYQbVp0SepI9Jmm_Pfhjk; qqmusic_key=W_X_3mJrl760n0lDWkgqqBhBMX2VPnH1PNwwUZjvNkmSnurNjTTap1J6gjetIU50hraK3AjHgw5T4ay2R3; qm_keyst=W_X_3mJrl760n0lDWkgqqBhBMX2VPnH1PNwwUZjvNkmSnurNjTTap1J6gjetIU50hraK3AjHgw5T4ay2R3; psrf_qqunionid=; tmeLoginType=1; wxunionid=oqFLxsgDOwYRnPDffuK5UINv958c; wxopenid=opCFJw5Vvcf24VLQSyNpKAX6gt3I; wxuin=1152921504872193707; qm_keyst=W_X_3mJrl760n0lDWkgqqBhBMX2VPnH1PNwwUZjvNkmSnurNjTTap1J6gjetIU50hraK3AjHgw5T4ay2R3; login_type=2'
}
name = input('请输入你想要下载的歌曲或者歌手名称:')
# 1. 发送请求 向以前的搜索功能接口发送 请求
url = f'https://c.***/soso/fcgi-bin/client_search_cp?p=1&n=10&w={name}'
response = requests.get(url)
# print(response)
# 2. 获取数据 获取所有歌曲信息数据
json_str = response.text
# 3. 解析数据 歌曲 歌手名 专辑 歌曲mid(用来下载歌曲必须要的参数)
json_str = json_str[9: -1]
json_dict = json.loads(json_str)
song_list = json_dict['data']['song']['list']
tb = pt.PrettyTable()
tb.field_names = ['序号', '歌名', '歌手', '专辑']
music_info_list = []
count = 0
# 4. 格式化输出
for song in song_list:
    songname = song['songname']
    songmid = song['songmid']
    singer = song['singer'][0]['name']
    albumname = song['albumname']
    tb.add_row([count, songname, singer, albumname])
    music_info_list.append([songmid, songname, singer])
    count += 1
print(tb)

while True:
    input_index = eval(input('请输入你要下载的歌曲序号(-1)退出:'))
    if input_index == -1:
        break
    download_info = music_info_list[input_index]
    songmid = download_info[0]
    # 1. 通过获取的歌曲mid 拼接 需要的音乐url
    music_info_url = 'https://u.***/cgi-bin/musicu.fcg?data={"req":{"module":"CDN.SrfCdnDispatchServer","method":"GetCdnDispatch", "filename":"M800","param":{"guid":"8846039534","calltype":0,"userip":""}},"req_0":{"module":"vkey.GetVkeyServer","method":"CgiGetVkey","filename":"M800","param":{"guid":"8846039534","songmid":["%s"],"songtype":[0],"uin":"1152921504784213523","loginflag":1,"platform":"20"}},"comm":{"uin":"1152921504784213523","format":"json","ct":24,"cv":0}}' % songmid
    # print(music_info_url)
    # 2. 发送网络请求 需要的音乐url
    json_data = requests.get(url=music_info_url, headers=headers).json()
    # 3. 获取数据 获取 里面生成的 部分音乐链接 合并 (mp3 数据所在的链接了)
    purl = json_data['req_0']['data']['midurlinfo'][0]['purl']
    media_url = 'https://dl.stream.qqmusic.qq.com/' + purl
    # 4. 发送请求 (mp3 数据所在的链接了)
    # 5. 获取数据 音乐二进制数据
    music_data = requests.get(media_url).content
    # 6. 保存数据
    with open(f'歌曲下载/{download_info[1]}-{download_info[2]}.mp3', mode='wb') as f:
        f.write(music_data)
    print(f'{download_info[1]}, 下载完成!')

尾话

好啦,这篇文章就到这里啦~对你有帮助就点赞收藏一下吧!

👈更多详情左侧主页或下方直接点击了解哦~

一个月玩了8个游戏,他学会了python,快乐就完事了 学python什么的,快乐就完事了 有人说人生最大的两大幸事:1、结婚是因为爱情,2、选择这份工作是因为喜欢。 当然,我们选择python可能是因为兴趣,也有可能是因为找一份高薪的工作,但是不管是因为什么,当我们没有去经营最初的那份心,它也会变成你所厌恶的! 从最开始的学习开始,不能产生对python、对自己的质疑,要在学python中产生兴趣,然后好好经营这份兴趣,你将一往直前,今天讲一本... 阅读详情

相关推荐

如何用 Python 正确读取资源文件

我们知道,当你把一个资源文件和一个.py文件放在一起的时候,你可以直接在这个.py文件中,使用文件名读取它。例如: with open('test.txt') as f: content = f.read() print('文件中的内容为:', content) 运行效果如下图所示: 但请注意,这里我是直接运行的read.py这个文件。如果资源文件是存放在一个包(package)里面,然后我们在外面调用这个包里面的.py文件会怎么样呢?我们试一试: 可以看到,现在Python 已经找不

Python免费教程 1765

Hash函数理解

哈希函数(Hash)  又称为 散列函数、散列算法、杂凑函数等  是一种单向密码体制:从明文到密文的不可逆映射  可将任意长度的输入变换为固定长度的输出  生成消息的“数据指纹”(也称消息摘要或散列值), 在数据完整性认证和数字签名等领域有广泛的应用 分类:  改动检测码MDC(Manipulation Detection Code)  不带密钥哈希函数,检测消息有无篡改

幸福诗歌的博客 8547

从零到一:Silvaco中跨导曲线的自动化脚本实现

本文详细介绍了如何使用Python脚本在Silvaco中实现跨导曲线(gm曲线)的自动化分析,包括数据加载、跨导计算和结果可视化。通过自动化处理Id-Vg曲线,显著提升半导体器件工程师的工作效率,特别适用于工艺优化和DOE分析。文章还提供了批量处理和关键参数提取的高级技巧,帮助工程师快速掌握Silvaco脚本开发。

nn3456的博客 568

彻底搞懂错排公式

问题:现有10本书按照顺序摆放,现要求重新排列,使得新的书的顺序中每一本书都不在原来的位置,求有多少种排列方式? 这个问题推广一下,就是错排问题,是组合数学中的问题之一。考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。 n个元素的错排数记为D(n)。 研究一个排列错排个数的问题,叫做错排问题或称为更列问题 OK,现在详细分析这个问题...

键盘上的青春 1万+

从贝叶斯网络到结构因果模型:因果推理在可解释AI中的实践

在机器学习和数据分析领域,理解变量间的因果关系而不仅仅是统计关联,是构建可信赖、可解释系统的关键。概率图模型,特别是贝叶斯网络,通过有向无环图和条件概率表,能够高效地编码和推理变量间的条件依赖关系,广泛应用于医疗诊断、风险评估等场景。然而,贝叶斯网络主要刻画的是“是什么”的关联,难以回答“如果…会怎样”的因果问题。为了进行因果推断,需要引入结构因果模型和do-演算,它们通过定义结构方程和模拟干预操作,能够区分混杂效应,估计处理变量对结果变量的净因果影响。这一套方法论对于可解释人工智能至关重要,它能生成反事实

weixin_42168902的博客 380

基于Arduino的智能垃圾桶

通过本次简单的Arduino智能垃圾桶小实验可以快速了解Arduino的基本用法 1、材料准备 Arduino UNO HC-SR04超声波模块 SG90舵机 杜邦线 电源 电脑 2、代码分析 电机的控制 #include<Servo.h> #define duoji D5 Servo myduoji; void setup() { myduoji.attach(duoji); //舵机连接 Serial.begin(115200); } void loop() { myduoji.w

weixin_41679960的博客 1万+

标定中是什么意思_“看”在物理学中是什么意思?如果你不知道,科普都读不懂...

今天,我的车出故障了,几公里的路熄火4次,仪表盘上的故障灯集体报警,一路上修理工带着电瓶全程保障,总算是到了修理厂,最后确认是电瓶老化。判断一个电瓶是不是老化只需要用万用表测量一下就可以了。但我的万用表没在车上,这就使得我瞪俩眼睛没“看”出来。万用表是小伙伴们刚开始接触到物理中的电学部分就会接触到的仪器,我们可以用它来“看”电的各种属性。所以借着我今天车辆故障的启发,咱们来谈一下,什么是物理学中的...

weixin_35998791的博客 331

AD创建属于自己的元件库(详细)

我今天开始学习AD2022,但是我想自己创建属于自己的元件库,但是奈何找了好多教程就是随便几句话就把我打发走了,弄了一天都没搞定(也许是我比较菜),所以现在乱懂了,自己写一个属于我们自己小白的教程,希望有用吧哈哈我比较偷懒,直接使用嘉立创上画好的元件导入,和我们自己创建自己画的步骤其实都一样。

qq_33591173的博客 2万+

获取各类资源,选择python写爬虫脚本,想要什么直接爬就完事了

经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

2301_76348171的博客 983

YOLOv8改进,YOLOv8主干网络替换为ShuffleNetV2

ShuffleNet V2的设计原则:1.减少内存访问成本:通过优化数据传输路径,减少内存访问延迟,提高整体运算速度。2.考虑平台特性:针对不同硬件平台的特性进行优化设计,确保在目标平台上的高效运行。3.结构简洁高效:采用简洁而高效的模块设计,降低计算复杂度,同时保持或提升模型的预测准确性。下图,以四种不同计算复杂度水平下的准确性(在ImageNet验证集上的分类),速度和FLOPs的测量结果。(a, c) 为GPU结果,批量大小为8。(b, d) 为ARM结果,批量大小为1。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1567

Agent Harness Engineering: AI Agent 执行管控与安全沙箱 原理与最佳实践

我们正站在计算范式转移的历史节点上。2024-2026 年间,AI 系统从被动的内容生成器(Generative AI)演变为主动的行动执行者(Agentic AI)。这一转变的根本特征是:根据 2026 年初的行业数据:然而,能力的提升伴随着风险的指数级增长。2024-2026 年间发生的多起标志性安全事件揭示了 Agent 系统的脆弱性:案例 1:Slack AI 数据外泄事件(2024 年 8 月)案例 2:制造业供应链攻击(2026 年 Q3)案例 3:Arup 深度诈骗案(2026 年 9 月)这

AI天才研究院 1670

最新获取各类资源,选择python写爬虫脚本,想要什么直接爬就完事了,面试高频算法题

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。工具都帮大家整理好了,安装就可直接上手!当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

2401_84140776的博客 770

实战六十四:基于机器学习朴素贝叶斯的豆瓣Top250影评的情感分析与预测 附完整源码和数据

实战六十四:基于机器学习朴素贝叶斯的豆瓣Top250影评的情感分析与预测 附完整源码和数据

1565

python爬取资源网站资源

如果你想批量的获取整个网站的资源,逐个打开网页进行下载,那样子耗时又耗力,因此python爬虫可以代替人去自动完成下载任务。话不多说,直接见代码: 一、导入模板 import re from bs4 import BeautifulSoup import requests 二、设置请求头 headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom

weixin_52134263的博客 7721

北斗导航 | raPPPid软件功能模块详解

raPPPid(Rapid Precise Point Positioning with integer ambiguity resolution,快速精密单点定位与整周模糊度解算)是由维也纳工业大学(TU Wien)大地测量与地理信息系开发的MATLAB开源PPP软件包。它是VieVS(Vienna VLBI and Satellite Software,维也纳VLBI与卫星软件)的PPP模块,由Marcus Franz Glaner和Robert Weber主导开发。

尘世冰封的专栏 588

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

[python爬虫]想要小姐姐?这就满足你们~

最新文章会在我的个人网站发布:http://www.xiaokai1999.cn/ > 本教程只供个人学习,禁止用于商业,谢谢支持 礼拜六闲暇时刻在某站逛了一下,经常观看科技、游戏的我,发现了新大陆——小姐姐 好,开干~~ 文章目录**> 本教程只供个人学习,禁止用于商业,谢谢支持**1.分析地址1.随便找个视频2.后来我发现了!3.分析分享页面3.1 m3u8介绍例子2.分析m3u...

锡城小凯的博客 7235

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

想要学习Python,看这10个Github仓库就够了

学习Python的10个好用的Github仓库

代码说,代码让世界更美好。 1929

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

python一键_Python一键获取你想要的资源

春暖花开,万物复苏,又到了学习的"恋爱季节",这一次小编给大家介绍的是一门语言,这门语言最近可是火爆极了,各大平台都有它的身影,这门语言也涉及了很多领域,那它到底叫什么呢?其实它就叫做Python!简单介绍下Python它是一门跨平台的计算机程序设计语言,由Guido van Rossum在1989圣诞节期间为了打发无趣而开发的一门新的脚本解释程序。随着版本的不断更新和语言新功能的添加,越多被用于...

weixin_39890629的博客 103

想要学习Python,掌握这些资源储备很重要你知道吗?

近两个月以来内收获了许多粉丝,在此非常感谢,筹划好几天准备了对大家有帮助和提升的相关资源,因为许多限制,但为了感谢大家对我认可和支持,,感谢每一个支持的我的粉丝,起码的见面礼还是得有的,后面有白嫖的方式。 一、资料简介 (1)Python所有方向的学习路线 这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。 (2)Python零基础到数据分析开发 这是目前我能拿到的并分享给大家的大多数视频

weixin_43649691的博客 1833

Python资源收集帖

资源收集贴

ceibake的博客 2683

想要自学python还怎么学,自学python怎么入门

大家好,本文将围绕python怎么自学,可以达到什么程度展开说明,想要自学python还怎么学是一个很多人都想弄明白的事情,想搞清楚自学python怎么入门需要先了解以下几个事情。目前python可以说是一门非常火爆的编程语言,应用范围也非常的广泛,工资也挺高,未来发展也极好。Python究竟应该怎么学呢,我自己最初也是从零基础开始学习Python的,给大家分享Python的学习思路和方法。一味的买书看书、看视频,是很难达到预想的效果的,甚至到了中期阶段可能会萌生放弃的想法。

2301_81900386的博客 902
上一篇: python:如何对付无理取闹不给数据的浏览器,让它乖乖把数据交出来~
下一篇: 表情包:有本事来爬我啊,俺有上千条 python:来啦~
魔王不会哭
博客等级 码龄5年 6003粉丝 394原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值