python获取音乐文件

news2025/1/21 5:52:41

浏览器打开音乐地址

http://www.htqyy.com/top/hot

 

点击第一首歌曲,会打开新的网页并且可以获取 改歌曲的id,就是url中的33

在播放页面点击F12,打开开发者调试功能

 如下图所示,在script脚本中可以获取歌曲的下载数据

host: http://f5.htqyy.com/play

id:33

mp3: 33/mp3/7

拼接地址下载url: http://f5.htqyy.com/play/33/mp3/7

 

import requests
import re
import time


songIDs=[] #存放歌曲的sid
songNames=[] #存放歌曲的名称

url="http://www.htqyy.com/top/hot" #歌曲列表的url

#获取音乐榜单的网页信息
html=requests.get(url)

strr=html.text

pat1=r'sid="(.*?)"' #用于解析sid的正则
pat2=r'title="(.*?)" sid' #用于解析歌曲名称的正则

idList=re.findall(pat1,strr) #从爬取到的网页内容中获取sid
titleList=re.findall(pat2,strr) #从爬取到的网页内容中获取歌曲名称

songIDs.extend(idList) #将sid追加到列表
songNames.extend(titleList) #将歌曲名称追加到列表
print(idList)
print(titleList)

# "http://f5.htqyy.com/play9/261/mp3/7
#开始下载音频文件
for i in range(0,len(songIDs)):
    # songUrl="http://f2.htqyy.com/play8/"+songIDs[i]+"/mp3/6"
    songUrl="http://f5.htqyy.com/play/"+songIDs[i]+"/mp3/7"

    songName=songNames[i]

    print(songUrl)
    #请求文件地址,获取文件资源
    data=requests.get(songUrl).content

    print("正在下载第",i+1,"首")

    #将文件保存到指定目录
    with open("C:\\music\\{}.mp3".format(songName),"wb") as f:
        f.write(data)

    time.sleep(0.5)

最后执行log如下:

"D:\Program Files\python\python.exe" D:/Project/Program/PythonWorkspace/FullProject/python_project/useful/get_music.py
['33', '1668', '58', '261', '62', '187', '55', '1430', '329', '87', '26', '1670', '57', '3', '108', '1621', '658', '23', '541', '56']
['清晨', '安妮的仙境', '心灵雨伞', '荡涤心灵的天籁之音', '月光下的凤尾竹', '日晷之梦(电台背景音乐)', '故乡的原风景', '宽阔的海水', '时间都去哪了', '梦里水乡', '你的微笑', '潮汐的旋律', '斯卡布罗市集(口哨曲)', '秋日私语', '牧羊曲', '太阳的后裔OST《Always》', '天空之城钢琴曲', '寂静之声', '夏日香气', '夜的钢琴曲五']
http://f5.htqyy.com/play/33/mp3/7
正在下载第 1 首
http://f5.htqyy.com/play/1668/mp3/7
正在下载第 2 首
http://f5.htqyy.com/play/58/mp3/7
正在下载第 3 首
http://f5.htqyy.com/play/261/mp3/7
正在下载第 4 首
http://f5.htqyy.com/play/62/mp3/7
正在下载第 5 首
http://f5.htqyy.com/play/187/mp3/7
正在下载第 6 首
http://f5.htqyy.com/play/55/mp3/7
正在下载第 7 首
http://f5.htqyy.com/play/1430/mp3/7
正在下载第 8 首
http://f5.htqyy.com/play/329/mp3/7
正在下载第 9 首
http://f5.htqyy.com/play/87/mp3/7
正在下载第 10 首
http://f5.htqyy.com/play/26/mp3/7
正在下载第 11 首
http://f5.htqyy.com/play/1670/mp3/7
正在下载第 12 首
http://f5.htqyy.com/play/57/mp3/7
正在下载第 13 首
http://f5.htqyy.com/play/3/mp3/7
正在下载第 14 首
http://f5.htqyy.com/play/108/mp3/7
正在下载第 15 首
http://f5.htqyy.com/play/1621/mp3/7
正在下载第 16 首
http://f5.htqyy.com/play/658/mp3/7
正在下载第 17 首
http://f5.htqyy.com/play/23/mp3/7
正在下载第 18 首
http://f5.htqyy.com/play/541/mp3/7
正在下载第 19 首
http://f5.htqyy.com/play/56/mp3/7
正在下载第 20 首

Process finished with exit code 0

下载音乐位置:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/883858.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【DICOM医学影像1】数据格式存储于显示,基本知识科普指南

DICOM(Digital Imaging and Communications in Medicine)数据格式,是医学影像存储中的标准格式。无论是X光、CT,还是MRI等等影像,采集的原理不同,但是存储的格式一般都是统一的。本文就对DICOM文件的图像显…

Hands on RL 之 Deep Deterministic Policy Gradient(DDPG)

Hands on RL 之 Deep Deterministic Policy Gradient(DDPG) 文章目录 Hands on RL 之 Deep Deterministic Policy Gradient(DDPG)1. 理论部分1.1 回顾 Deterministic Policy Gradient(DPG)1.2 Neural Network Difference1.3 Why i…

大模型PEFT技术原理(三):Adapter Tuning及其变体

随着预训练模型的参数越来越大,尤其是175B参数大小的GPT3发布以来,让很多中小公司和个人研究员对于大模型的全量微调望而却步,近年来研究者们提出了各种各样的参数高效迁移学习方法(Parameter-efficient Transfer Learning&#x…

java17新特性+ZGC

ZGC垃圾收集 11引入的追求低延迟的垃圾回收器 1.ZGC的内存布局 1.1 region 和G1一样,也是基于Region的堆内存布局。但是ZGC的Region具有动态性:动态创建、动态销毁、动态数据容量。 1.2 垃圾回收机制 相较于CMS,ZGC只有6个阶段&#xff1…

同步、异步、协程

目录 同步异步https 异步请求: 协程1.为什么会要协程?2.异步的运行流程是什么3.协程的原语操作4.协程的定义?5.调度器的定义?6.调度的策略?7. api封装, hook8.多核的模式?9.协程的性能?10.要有哪些案例?nty_servernty_ mysql_client.cnty_ mysql oper.cnty_ …

Python项目实战:基于napari的3D可视化(点云+slice)

文章目录 一、napari 简介二、napari 安装与更新三、napari【巨巨巨大的一个BUG】四、napari 使用指南4.1、菜单栏(File View Plugins Window Help)4.2、Window:layer list(参数详解)4.3、Window:layer…

city walk结合VR全景,打造新时代下的智慧城市

近期爆火的city walk是什么梗?它其实是近年来备受追捧的城市漫步方式,一种全新的城市探索方式,与传统的旅游观光不同,城市漫步更注重与城市的亲密接触,一步步地感受城市的脉动。其实也是一种自由、休闲的方式&#xff…

vscode搭建java开发环境

一、配置extensions环境变量VSCODE_EXTENSIONS, 该环境变量路径下的存放安装组件: 二、setting配置文件 {"java.jdt.ls.java.home": "e:\\software\\jdk\\jdk17",// java运行环境"java.configuration.runtimes": [{"…

分类预测 | MATLAB实现DRN深度残差网络多输入分类预测

分类预测 | MATLAB实现DRN深度残差网络多输入分类预测 目录 分类预测 | MATLAB实现DRN深度残差网络多输入分类预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.分类预测 | MATLAB实现DRN深度残差网络多输入分类预测 2.代码说明:MATLAB实现DRN深度残差网络…

信捷 XDH Ethercat A_GearIn指令与轴配置

在前面的文章中描述了A_FOLLOW指令,有时不能满足要求,需要更高级的指令A_GearIn指令。 下面的例子A_GearIn指令和CNT_AB指令 实现手轮动马达动,手轮停马达停,手轮转的快马达也转得快。(手轮输出接到PLC的X0和X1点&am…

【内测】百度AI搜索体验

收到百度搜索AI体验邀请,简单测试了一下,目前支持文案创作,AI绘画等。 文案创作功能还行,绘画功能效果比较差。

【数据库】P4 过滤数据 WHERE

过滤数据 WHERE 简介WHERE 子句操作符检测单个值案例范围值检查 BETWEEN AND空值检查 NULL 简介 数据库表一般包含大量的数据,很少需要检索表中的所有行。我们只检索所需数据需要指定搜索条件(search criteria),搜索条件也称为过滤条件(filter conditio…

【每日一题】617. 合并二叉树

【每日一题】617. 合并二叉树 617. 合并二叉树题目描述解题思路 617. 合并二叉树 题目描述 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会&#xff…

SpringBoot携带Jre绿色部署项目

文章目录 SpringBoot携带Jre绿色部署运行项目1. 实现步骤2. 自测项目文件目录及bat文件内容,截图如下:2-1 项目文件夹列表:2-2. bat内容 3. 扩展: 1.6-1.8版本的jdk下载 SpringBoot携带Jre绿色部署运行项目 说明: 实…

【数据结构与算法】十大经典排序算法-归并排序

🌟个人博客:www.hellocode.top 🏰Java知识导航:Java-Navigate 🔥CSDN:HelloCode. 🌞知乎:HelloCode 🌴掘金:HelloCode ⚡如有问题,欢迎指正&#…

基本变量与引用变量的区别

基本数据类型创建的变量,称为基本变量,该变量空间中直接存放的是其所对应的值; 而引用数据类型创建的变量,一般称为对象的引用,其空间中存储的是对象所在空间的地址。 public static void func() { int a 10; int b …

vue3 如果切换角色后权限不同 怎么清空之前添加动态路由。

项目中切换角色后发现会保留前面一个角色的权限,方法一是到login页面,权限重新reload,不过这样确实会影响体验,如果不采用此方案的话,你可以看下我从发现问题到解决问题的思路: 1、首先要找到一个初始状态…

光耦继电器:实现电气隔离的卓越选择

光耦继电器是一种常用的电子元件,用于实现电气隔离和信号传输。在工业控制、自动化系统和电力电子等领域,光耦继电器具有独特的特点和优势。本文将从可靠性、隔离性、响应速度和适应性等方面对光耦继电器的特点进行概述。 光耦继电器是一种典型的固态继电…

24、springboot的自动配置01--类条件注解@ConditionalOnClass、bean条件注解@ConditionalOnBean

springboot的自动配置 ★ 自动配置 Spring Boot的自动配置通常可根据依赖库自动触发——当Spring Boot检测到项目中包含某些框架的JAR包时,Spring Boot就会触发自动配置。其实通过EnableAutoConfiguration注解来启动▲ 其实你用到SpringBootApplication&#xff0…