[ Python项目 ] MP3音乐下载器

音乐下载器

音乐下载器是一款基于Python开发的简单易用应用程序。该应用采用PyQt5图形界面库开发,具有直观的用户界面和丰富的功能。

主要特点

  • 搜索音乐:用户可以通过输入歌曲名称,在应用中进行音乐搜索。搜索结果将以表格形式呈现,包括歌曲的ID、标题、歌手、封面图片和下载按钮。

  • 显示搜索结果:搜索结果以表格的形式展示,便于用户浏览和选择。每行的封面图片和下载按钮使得用户可以更直观地了解和操作搜索到的歌曲。

  • 下载音乐:用户可以点击下载按钮,将所选歌曲以MP3文件的形式保存到本地。下载过程会在后台进行,不会影响用户继续搜索和操作其他歌曲。

  • 快速响应:应用程序采用多线程处理网络请求和文件下载,确保用户能够快速获取搜索结果和下载音乐,提供良好的用户体验。

注意事项

  • 请确保您的计算机已经安装了PyQt5库和requests库。

  • 下载的音乐文件将保存在根目录下的PastKing文件夹中,请确保该文件夹存在或者有写入权限。

  • 本程序已用过pyinstaller打包,非二次开发双击即可启动!

拓展

本程序的音乐源取自某平台,理论上同类型平台都可以直接替换使用。

在这里插入图片描述

部分代码

def search_music(self):
    keyword = self.search_input.text()
    if keyword:
        self.worker = Worker(keyword)
        self.worker.result_received.connect(self.show_search_results)
        self.worker.start()

        def show_search_results(self, result):
            self.result_table.setRowCount(0)  # 清空表格内容

            if result and 'data' in result and len(result['data']) > 0:
                for song in result['data']:
                    row_position = self.result_table.rowCount()
                    self.result_table.insertRow(row_position)

                    # 显示歌曲信息
                    self.result_table.setItem(row_position, 0, QTableWidgetItem(str(song['songid'])))
                    self.result_table.setItem(row_position, 1, QTableWidgetItem(song['title']))
                    self.result_table.setItem(row_position, 2, QTableWidgetItem(song['author']))

                    # 显示封面
                    pixmap = self.get_cover_image(song['pic'])
                    label_cover = QLabel(self)
                    label_cover.setPixmap(pixmap)
                    label_cover.setAlignment(Qt.AlignCenter)
                    self.result_table.setCellWidget(row_position, 3, label_cover)

                    # 下载按钮
                    download_button = QPushButton('下载', self)
                    download_button.clicked.connect(lambda _, s=song: self.download_music(s['url'], f"{s['title']}-{s['author']}-{self.get_timestamp()}"))
                    self.result_table.setCellWidget(row_position, 4, download_button)

下载

关注公众号回复“240118”,即可获得程序和源码!

在这里插入图片描述

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PsatYiKing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值