【附源码】用Python开发一个音乐下载工具,并打包EXE文件,所有音乐都能搜索下载!

现在听个歌,不是要这就是要那,乱七八糟的,下软件都下不赢。

于是决定加班熬夜来做一个,想怎么听就怎么听,大家自己看到就好,悄悄用,别告诉别人哈~

好了不闲聊,开整!

首先我们需要准备这些

环境

Python 3.10

Pycharm

模块

复制代码
import requests >>> pip install requests   
import parsel >>> pip install parsel  
import prettytable >>> pip install prettytable   
import os  

打包exe程序:

复制代码
pyinstaller -> pip install pyinstaller 

爬虫实现基本流程

案例分为三部分:

  1. 单首歌曲采集

  2. 搜索下载功能 (单个/批量)

  3. 把py程序打包成exe软件

一、数据来源分析

1、明确需求

明确采集的网站以及数据内容

2.抓包分析

通过浏览器开发者工具分析对应的数据位置

  • 打开开发者工具

  • F12 / 右键点击检查选择network 网络

  • 刷新网页

  • 通过关键字搜索找到对应数据位置

  • 先找歌曲链接地址(播放地址): 开发者工具 -> 网络 -> 媒体 -> 查看对应歌曲链接

  • 再根据链接中一段参数进行搜索

  • 关键字: 需要什么数据就搜什么数据

数据包地址: https://www.gequbao.com/api/play_url?id=402856\&json=1

二、代码实现步骤

1.发送请求

模拟浏览器对于url地址发送请求

复制代码
# 导入数据请求模块 import requests """发送请求"""  
# 模拟浏览器 (请求头)  
headers = {  
# User-Agent 用户代理, 表示浏览器基本身份信息  
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'  
}  
# 请求网址  
url = 'https://www.gequbao.com/api/play_url?id=402856&json=1' # 发送请求  
response = requests.get(url=url, headers=headers)  
2.获取数据

获取服务器返回响应数据

复制代码
# 获取响应json数据  
json_data = response.json()  
3.解析数据

提取我们需要的数据内容

css选择器简单使用

根据标签属性提取数据内容

  1. 查看数据对应标签位置
4.保存数据

获取歌曲内容, 保存到本地文件夹

复制代码
# 对于歌曲链接发送请求, 获取歌曲内容  
music_content = requests.get(url=play_url, headers=headers).content  
# 数据保存  
with open(f'music\\{download_title}-{download_singer}.mp3', mode='wb') as f:  
    # 写入数据  
    f.write(music_content)  
print(f'{download_title}歌曲下载完成!')  
5.搜索下载
  1. 找搜索接口
  • 歌名

  • 歌曲ID

  1. 分析不同歌曲, 数据包有什么变化
  • 歌曲变化 -> ID

  • 只要过去所有歌曲ID你就可以采集所有歌曲内容

效果展示

6.打包EXE
复制代码
pyinstaller -F xx.py  

打包成功后,就能分享给其它不会py的小伙伴,愉快的使用了~

资料包也已经打包好了,朋友们如果需要可以威x信扫描下方二维码免费获得【保证100%免费】

今天的分享就到这,关注小编不迷路~

相关推荐
冷雨夜中漫步8 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴8 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再8 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
m0_7369191010 小时前
C++代码风格检查工具
开发语言·c++·算法
喵手10 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_9449347310 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy10 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
黎雁·泠崖11 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_7634724612 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
肖永威12 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos