吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11072|回复: 45
收起左侧

[Python 转载] 用pyth打造属于自己的音乐下载器(下载VIP的,主要是网抑云和qq)

  [复制链接]
cyn990318 发表于 2020-8-18 17:23
前言之前大家有没有过从电脑上下载歌曲MP3文件放到手机内存卡的经历,随着时代发展,现在的各大音乐软件已经成为播放器,下载音乐是要收费的,现在教大家从零开始可以通过python通过爬虫爬取音乐,教大家打造自己的音乐下载器知识点:
  • python基础知识
  • requests库
  • urllib库
  • BeautifulSoup
环境:
  • windows
  • pycharm
  • python3
先看效果图
代码导入工具import os
from urllib.request import urlretrieve
from tkinter import *
import requests
import json
import jsonpath
from selenium import webdriver下载歌曲def song_load(song_url,song_title):

    # 创建文件夹
    os.makedirs('music', exist_ok=True)
    path = 'music\{}.mp3'.format(song_title)
    text.insert(END, '歌曲:{},正在下载...'.format(song_title))
    # 文本框滚动
    text.see(END)
    # 更新
    text.update()

    urlretrieve(song_url, path)

    text.insert(END, '下载完毕:{},请试听'.format(song_title))
    # 文本框滚动
    text.see(END)
    # 更新
    text.update()
搜索歌曲的id 名字def get_music_name():
    # 获取输入框的歌曲名称
    name = entry.get()
    platform = var.get()
    headers = {

        # 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
        # 'Referer': 'http://music.onlychen.cn/?name=%E4%BB%A5%E7%88%B6%E4%B9%8B%E5%90%8D&type=qq',
        # 'Origin': 'http://music.onlychen.cn',
        # 'Host': 'music.onlychen.cn',
        # 'Cookie': 'UM_distinctid=173e1b3fd7f683-018ad69a1b7ba2-3c634103-1fa400-173e1b3fd8084b; CNZZDATA1279162877=486742487-1597218425-null%7C1597462873',
        'X-Requested-With': 'XMLHttpRequest',

    }

    params = {
        'input': name,
        'filter': 'name',
        'type': platform,  # netease 网易云
        'page': '1',
    }
    # 拼接url
    url = 'http://music.onlychen.cn/'
    resp = requests.post(url,data=params,headers=headers)
    data = resp.json()
    print(data)
    title = jsonpath.jsonpath(data,"$..title")[0]
    author = jsonpath.jsonpath(data,"$..author")[0]
    url = jsonpath.jsonpath(data,"$..url")[0]
    print(title)
    print(author)
    print(url)
    # 下载歌曲
    song_load(url,title)搭建界面# 1.创建画布
root = Tk()
# 2.添加标题
root.title('全网音乐下载器')
# 3.设置窗口大小
root.geometry('560x450+400+200')
# 4.标签控件
label = Label(root, text='请输入下载的歌曲:', font=('华文行楷', 20))
# 5.定位
label.grid()
# 6.输入框
entry = Entry(root, font=('隶书', 20))
# 7.定位
entry.grid(row=0, column=1)
# 单选按钮***
var = StringVar()
r1 = Radiobutton(root,text="网易云",variable=var,value='netease')
r1.grid(row=2, column=0)
r2 = Radiobutton(root,text="qq",variable=var,value='qq')
r2.grid(row=2, column=1)
# 8.列表框
text = Listbox(root, font=('楷书', 16), width=50, heigh=15)
# 9.定位 columnspan 组件横跨的列数
text.grid(row=3, columnspan=2)
# 点击下载按钮
button = Button(root, text='开始下载', font=('隶书', 15), command=get_music_name)
# 定位 sticky 对齐方式 W E N S  东南西北
button.grid(row=4, column=0, sticky=W)
# 退出程序的按钮
button1 = Button(root, text='退出程序', font=('隶书', 15), command=root.quit)
# 定位 sticky 对齐方式 W E N S  东南西北
button1.grid(row=4, column=1, sticky=E)
# 显示界面root.mainloop()

免费评分

参与人数 7吾爱币 +7 热心值 +6 收起 理由
willlam + 1 谢谢@Thanks!
wapj(●—●) + 1 热心回复!
3060838663 + 1 热心回复!
yjn866y + 1 + 1 我很赞同!
深水夜藏 + 1 + 1 我很赞同!
苏紫方璇 + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
猪头。 + 1 + 1 谢谢老哥 我有的学了 估计够我琢磨几个星期了

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

捕风的汉子 发表于 2020-8-18 18:28
能不能直接编译成exe文件呢
zhangkang519 发表于 2020-8-19 14:31
strive_w 发表于 2020-8-18 18:33
猪头。 发表于 2020-8-18 19:21
这个会失效吗
南岸 发表于 2020-8-18 19:25

这个会不会失效取决于接口
Alice丶纸飞机 发表于 2020-8-18 19:27
学习学习~
猪头。 发表于 2020-8-18 19:27
南岸 发表于 2020-8-18 19:25
这个会不会失效取决于接口

好的 谢谢 我先琢磨琢磨
残梦恋颖 发表于 2020-8-18 21:41
出成品就好了
深水夜藏 发表于 2020-8-19 07:15
谢谢楼主分享,正好用来学习一
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表