想听一首歌好难?程序员教你一键下载

Python自制音乐下载器,实现听歌自由 今天发的就是最实用的文章–让你用Python实现听歌自由,不用再担心自己的钱包了 阅读详情

1.首先要先安装一下Python第三方库

  • requests #pip install requests
  • prettytable # pip install PrettyTable

2.使用的开发环境:

  • 版 本: python 3.8
  • 编辑器:pycharm 2021.2

3.先给你们来一个思路

在这里插入图片描述
不管你以后爬那个网站,安装这个思路就对了!

注意:不建议学习bs4,懂的都懂

4.接下来,咱们正式开始

今天咱们就搞定它

# *改成k
url='https://www.*uwo.cn/'
导入模块
import requests
from urllib import parse
import prettytable as pt
添加请求头
headers = {
    # 浏览器基本信息
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
    # 辨别用户的身份
    'Cookie': '*',
    # 认证令牌
    'csrf': 'C713RK6IJ8J',
    # 指定的请求资源的域名
    # *改成k
    'Host': 'www.*uwo.cn',
    # 用来跟踪Web请求来自哪个页面,是从什么网站来的。
    'Referer': 'http://www.*uwo.cn/search/list?key='+searchKey
}
下载指定歌曲:
# *改成k
url = f'http://www.*uwo.cn/api/www/search/searchMusicBykeyWord?key={searchKey}&pn=1&rn=30'
json_data = requests.get(url=url, headers=headers).json()
song_list = json_data['data']['list']
count = 0
info_list = []
tb = pt.PrettyTable()
tb.field_names = ['序号', '歌名', '歌手', '专辑']
for song in song_list:
    singer_name = song['artist']
    song_name = song['name']
    album_name = song['album']
    rid = song['rid']
    info_list.append([rid, song_name, singer_name])
    tb.add_row([count, song_name, singer_name, album_name])
    # *改成k
    song_info_url = f'https://www.*uwo.cn/api/v1/www/music/playUrl?mid={rid}&type=convert_url3&br=320kmp3'
    music_url = requests.get(song_info_url, headers=headers).json()['data']['url']
    music_data = requests.get(music_url).content
    with open(f'download/{singer_name}-{song_name}.mp3', mode='wb') as f:
        f.write(music_data)
        print(f'{song_name}', '下载完成!!!')
    count += 1
print(tb)
后面再加一个功能,实现自定义下载:
    input_index = eval(input("请输入要下载歌曲的序号(-1退出): "))
    if input_index == -1:
        break
    download_info = info_list[input_index]
    # 流畅音质  128k
    # 高频音质  192k
    # 超品音质  320k
    # *改成k
    song_info_url = f'https://www.*uwo.cn/api/v1/www/music/playUrl?mid={download_info[0]}&type=convert_url3&br=320kmp3'
    music_url = requests.get(song_info_url, headers=headers).json()['data']['url']
    music_data = requests.get(music_url).content
    with open(f'download/{download_info[1]}-{download_info[2]}.mp3', mode='wb') as f:
        f.write(music_data)
        print(f'{download_info[1]}', '下载完成!!!')

5.效果展示:

在这里插入图片描述

学会了嘛?需要源码可以留言、私信我。

结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!

Python基础入门教程推荐:←点击左边蓝色文字就可以跳转观看了

Python爬虫案例教程推荐:←点击左边蓝色文字就可以跳转观看了

创建音乐下载器-代码实现 搭建音乐下载器 阅读详情

相关推荐

音乐下载器源码,需要自取

用Python实现听歌自由

qq_41515916的博客 783

从网络下载音频资源的简便代码

import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; import java.text.SimpleDateFormat; import java.util.Date; public class TestMP3 { public static void main(String[] ar

????的专栏 1493

python下载音乐源代码

python下载音乐源代码,输入你想要下载的歌手的名字,你就可以下载

【Python实战】入门级都能学懂的Python爬虫之仅需8行代码一键免费下载音乐,听歌自由真这么简单?

发现周董的歌还是挺适合当车载音乐的,今天小编就浅浅的教一些新手入门的同学学一下这个超简单的音乐爬虫代码哈!

xy258009的博客 2843

酷狗歌曲文件按歌曲列表归类

NULL 博文链接:https://jarg.iteye.com/blog/993416

从9ku中爬取并下载音乐

从9ku中爬取并下载音乐,先搜索需要下载的音乐,然后将类似http://www.9ku.com/erge/240.htm的页面修改为你的页面,运行即可下载。9ku中的音乐多为m4a格式,需要转码,可以用类似goldwave转码后使用。

python下载想听的有声书,让喜马拉雅收费,我是程序员!

from urllib import parse,request import urllib header_dict = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko'} for i in range(1328,3000): url="https://ting55....

weixin_34407348的博客 2038

编程下载好听网歌曲的c++代码

在200912月时测试可以正常下载,如果网页变化,可能要做一点修改^

当遇到听不了的歌,Python程序员都是这么做的...

闲的没事做去公司溜达,没想到新来的小姐姐已经国庆没回去,已经在公司兢兢业业了,这不得去表示关怀一下... 于是乎,就找她套套近乎,闲聊中,小姐姐表示吐槽,好多想听的歌都没得权限,要么要充值要么下架了,就非常郁闷。

人生苦短, 还不用Python? 4645

基于python实现的百度音乐下载器python pyqt改进版(附代码)

前言 之前写过一个用python实现的百度新歌榜、热歌榜下载器的文章,实现了百度新歌、热门歌曲的爬取与下载。但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒。而且用Pyqt做的界面,在下载的过程中进行窗口操作,会出现UI阻塞的现象。 前两天有时间调整了一下,做了几方面的改进: 1.修改了UI界面阻塞的问题,下载的过程中可以进行其它的UI操作; 2.爬虫程序采用一个主线程,8个子线程的方式快速爬取,网络状况一致的情况下,将扫描100首歌曲的时间提高到了8、9秒左右;(本地下载速度大概300K左右) 3.解析网页的方法由之前的HtmlParser变成了现在的Bea

别再乱拖了!Godot 4.x 场景编辑器的7个隐藏操作技巧(附快捷键清单)

本文揭示了Godot 4.x场景编辑器的7个隐藏操作技巧,包括智能对齐、轴心点应用、多节点批量操作等,帮助开发者提升游戏开发效率。特别介绍了坐标系切换和自定义快捷键等实用功能,适用于处理复杂场景和团队协作。

weixin_29534421的博客 359

程序员聊天记录随笔

结束语: 《狂人日记》:“我翻开历史一查,这历史没有年代,歪歪斜斜的每页上都写着 ‘仁义道德’ 四个字。我横竖睡不着,仔细看了半夜,才从字缝里看出字来,满本都写着两个字是 ‘吃人’ !” 特蕾莎修女说:我们以为贫穷就是饥饿、衣不蔽体和没有房屋;然而最大的贫穷却是不被需要、没有爱和不被关心,末后的时代,物质的丰富,无法掩盖精神的贫穷;光鲜的外表,无法隐藏心灵的空虚;社会的进步,无法修饰爱心的冷漠,耶稣说:只因不法的事增多,许多人的爱心,才渐渐冷淡了。 ...

Mr_JiaTao的博客 1064

如何玩转腾讯云轻量级服务器(新手向)

如何玩转腾讯云轻量级服务器(新手向) ​ 相信不少同学都想将自己的服务器部署到云服务器,让别人通过自己的域名就可以访问到自己的项目,而腾讯云轻量级服务器作为一个小型的应用,支持域名解析和可视化运维等。比较适合新手入门 ​ 本文服务器操作系统为Centos7 一. 购买以及基本配置 1.购买方式 ​ 本文主要面向新手,毕竟一般只有新手才会购买轻量级服务器。所以可以选择购买一年的来学习,以后再根据需要换,前提提示(轻量级服务器没有安全组的,开放端口直接开启防火墙里的即可) ​ 购买连接 购买完成后点击控制

qq_46160687的博客 1万+

解锁B站4K宝藏:这个神器让你轻松下载大会员专属内容

还在为B站上的精彩视频无法保存而烦恼?🤔 想离线观看心爱的番剧却找不到合适的工具?别担心,今天要介绍的**bilibili-downloader**就是你的救星!这款开源工具不仅能下载普通视频,还能解锁大会员专属的4K超高清画质,让你随时随地重温经典。 ## 🎯 当这些场景发生时,你需要它 **场景一:深夜追番网络卡顿** 凌晨两点,你正沉浸在最新番剧的精彩剧情中,突然网络卡顿,视频缓冲让

gitblog_01062的博客 1257

保姆级教程:用Verilog手把手实现一个MIPI CSI-2 D-PHY接收器(附PPI接口时序详解)

本文提供了一份详细的Verilog实现MIPI CSI-2 D-PHY接收器的教程,重点解析了PPI接口时序和deskew数据对齐技术。通过模块划分、时钟域处理、状态机设计和错误恢复机制等实战内容,帮助开发者掌握高速数据接收的核心技术,适用于嵌入式视觉系统开发。

weixin_30619101的博客 512

Keil中搭建自动化单元测试框架Unity

前言:   虽然一些C++的自动化单元测试框架也能用来C语言单元测试,但那样我们编写C语言程序时需要符合C++的标准,这样有一些C的特性是无法使用的,限制C的特性使用不太好,于是找了一个全部用C实现的自动化测试框架。Unity是一个简单且直接的自动化单元测试框架,它由很少的几个文件构成。 搭建环境:   1.从github上下载最新版本的Unity源码,下载链接:https://github...

程序员的自我修炼 3897

Python采集喜马拉雅的音频,随时随地,听我想听,Python面试题2024答案

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

2401_84140332的博客 526

如何使用3D高斯分布进行环境建模

使用3D高斯分布来进行建模,关键在于通过引入不确定性描述来提高建图的鲁棒性和精度。与传统点云表示相比,3D高斯分布提供了一种更为灵活和有效的方式来处理空间数据,能够通过协方差矩阵表示点的空间不确定性,帮助优化SLAM过程中的定位和地图更新。

JaydenQ的博客 2355

(2024年最新)Python下载安装教程,附详细图文,建议收藏

大家好,今天为大家带来的是Windows Python3下载、安装教程,适用于 Python3 所有版本,包括 Python3.7,Python33.8,Python33.10 等版本。希望对大家有所帮助。

Java徐师兄的博客 1万+

定位教程0---定位初介绍

定位教程0---定位算子介绍

Quintin 1万+

【AI理论学习】手把手推导扩散模型:Diffusion Models(DDPM)

生成扩散模型DDPM如下图所示分为前向、逆向两个过程,它首先通过不断往原始清晰数据中添加噪声使其变成标准高斯噪声(前向过程),而后期望从标准高斯噪声中还原原始数据(逆向过程)。若能实现,那便可从已知的标准高斯分布中采样一个噪声数据,而后利用DDPM模型生成符合原始数据分布的新数据。 Diffusion模型包含两个过程:数学符号:y∝xy\propto xy∝x:y正比于x,即y随着x增大而线性增大。 条件概率:贝叶斯公式:p(A∣B)=p(B∣A)×p(A)p(B)p(A|B)=\frac{p(B|A)\

小哲的博客 1507

程序员也要理解产品—(产品思维)

程序员也要理解产品—(产品思维) 痛点、痒点、爽点都是机会 痛点是什么 百度答案: ​ “对于产品来说,痛点多是指尚未满足,而又被广泛渴望的需求” 案列: ​ 手机上一天到晚会收到推销的广告电话,恨不得卸载手机的通讯功能,知道我遇上某某号码通。 ​ 碰到头疼脑热的小病,跑到医院能把人折腾死,又不敢乱吃药,这个时候有一个App就很好地解决了我的问题。 爽点是即时满足 爽点是什么 ​ 人在满足...

weixin_44281696的博客 791

【ComfyUI】Flux 完整版文生图

本文介绍了一个基于Flux Dev的AI文生图全流程工作流,通过整合扩散模型、文本编码器和VAE解码器等核心组件,实现从文本到高清图像的端到端生成。工作流包含模型加载、条件构建、潜空间采样、图像解码和成果保存五个关键环节,支持高分辨率图像的细节还原和艺术风格塑造。应用场景涵盖艺术创作、内容生产、教学演示和科研数据准备等领域,适用于对画质和提示遵循性要求严格的场景。文章还提供了相关开发资源和学习教程链接,帮助用户深入理解AI绘图机制和实际应用。

Mr数据杨 1276

如何让不给听得ge乖乖听话?python教你如何做...

嗨喽,大家好呀~这里是爱看美女的茜茜呐又到了学Python时刻~在面对想听的ge没得权时,正常人一般的操作是百度一下又或者直接找朋友借但是程序员就不一样了~直接展示一手如何用Python 实现通过输入ge手名或ge名一秒下载 ~

m0_72282564的博客 9260

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

2026前端面试每日冲刺:别只背八股文了,面试官现在更想听这些!

2026年的前端面试,“知其然”已经不够了,必须“知其所以然”甚至“知其所未来”。不要只背 API:去理解框架为什么这么设计(比如 RSC 为什么能减少 Bundle 体积)。拥抱 AI 但保持警惕:展示你利用 AI 提效的能力,同时强调你对代码质量和安全的把控。关注架构:从“怎么写页面”转变为“怎么设计系统”。

前端大白话 612

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: Python基础学习笔记:多线程入门
下一篇: Python基础学习笔记:匿名函数
Python程序u猿
博客等级 码龄5年 622粉丝 84原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值