├── Image
├── album.png
├── alldownload.png
├── dowload.png
├── excel.png
├── file.png
├── kmusic.png
├── kugoumusic.png
├── look.png
├── lyrics.png
├── lyrics1.png
├── musiclist.png
├── openexcel.png
├── qqmusic.png
├── song.png
├── sousuo.png
├── title.png
└── wyy.png
├── Music_Download.py
├── Music_Funciton.py
├── README.md
├── dowload.ui
└── look over.txt
/Image/album.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/album.png
--------------------------------------------------------------------------------
/Image/alldownload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/alldownload.png
--------------------------------------------------------------------------------
/Image/dowload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/dowload.png
--------------------------------------------------------------------------------
/Image/excel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/excel.png
--------------------------------------------------------------------------------
/Image/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/file.png
--------------------------------------------------------------------------------
/Image/kmusic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/kmusic.png
--------------------------------------------------------------------------------
/Image/kugoumusic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/kugoumusic.png
--------------------------------------------------------------------------------
/Image/look.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/look.png
--------------------------------------------------------------------------------
/Image/lyrics.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/lyrics.png
--------------------------------------------------------------------------------
/Image/lyrics1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/lyrics1.png
--------------------------------------------------------------------------------
/Image/musiclist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/musiclist.png
--------------------------------------------------------------------------------
/Image/openexcel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/openexcel.png
--------------------------------------------------------------------------------
/Image/qqmusic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/qqmusic.png
--------------------------------------------------------------------------------
/Image/song.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/song.png
--------------------------------------------------------------------------------
/Image/sousuo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/sousuo.png
--------------------------------------------------------------------------------
/Image/title.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/title.png
--------------------------------------------------------------------------------
/Image/wyy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Java-S12138/Music_Download/5eb58037ddef37e642aa1895b2d56fabee66f705/Image/wyy.png
--------------------------------------------------------------------------------
/Music_Download.py:
--------------------------------------------------------------------------------
1 | import os
2 | import re
3 | import sys
4 | import time
5 | import xlwt
6 | import json
7 | import random
8 | import requests
9 | import datetime
10 | import threading
11 | import cloudmusic
12 | import Music_Funciton
13 | from PySide2.QtUiTools import QUiLoader
14 | from PySide2.QtGui import QIcon, QPixmap
15 | from PySide2.QtCore import QObject, Signal, QUrl, QTimer
16 | from PySide2.QtMultimedia import QMediaContent, QMediaPlayer
17 | from PySide2.QtWidgets import QApplication, QTableWidgetItem, QAbstractItemView, QMessageBox, QListWidgetItem
18 |
19 | class SignalStore(QObject):#进度条
20 | progress_update = Signal(int)
21 | top_progress_update = Signal(int)
22 | so = SignalStore()
23 |
24 | class Data_List:
25 | def __init__(self):
26 | self.img_url = [] # 首页图片显示的url
27 | self.bt_name = [] # 首页按键的标题
28 | self.bt_id = [] # 首页按键的id值
29 |
30 | self.music_name = [] # 歌曲列表显示区域
31 | self.music_id = [] # 歌曲列表显示的ID
32 | self.music_url = [] #音乐下载地址及信息
33 |
34 | self.pre_music_index = 0 # 上一首歌的index
35 | self.music_pages = 0 # 歌单码数
36 | self.music_count = 0 # 歌单总页数
37 |
38 | class Music_Dowload(QObject):
39 | def __init__(self):
40 | super(Music_Dowload, self).__init__()
41 | so.progress_update.connect(self.setProgress) #进度条
42 | so.top_progress_update.connect(self.top_setProgress) #进度条
43 | self.ongoing = False #下载警告
44 | self.ui = QUiLoader().load(f'{os.getcwd()}/dowload.ui') #关联ui界面文件
45 | self.PLAY()
46 |
47 | def PLAY(self):
48 | self.ui.top_textEdit.setReadOnly(True)
49 | self.ui.comment_textEdit.setReadOnly(True)
50 | self.ui.lyrics_textEdit.setReadOnly(True)
51 | self.ui.comment_textEdit.setReadOnly(True)
52 | self.ui.textBrowser.setReadOnly(True)
53 | self.ui.textBrowser_2.setReadOnly(True)
54 | self.ui.seek_Button.clicked.connect(self.platform_netease) # 搜索网易云
55 | self.ui.seek_Button_2.clicked.connect(self.platform_tencent) # 搜索QQ音乐
56 | self.ui.seek_Button_3.clicked.connect(self.platform_kugou) # 搜索酷狗音乐
57 | self.ui.download_Button.clicked.connect(self.download_type_thread) # 下载按钮
58 | self.ui.all_download_Button.clicked.connect(self.all_music_download) # 下载按钮
59 | self.ui.top_download_Button.clicked.connect(self.all_top_download) # 下载按钮
60 | self.ui.open_Button.clicked.connect(self.open_file) # 打开保存音乐的文件夹
61 | self.ui.open_Button_2.clicked.connect(self.open_file) # 打开保存音乐的文件夹
62 | self.ui.open_Button_3.clicked.connect(self.open_file) # 打开保存音乐的文件夹
63 | self.ui.open_Button_4.clicked.connect(self.open_file) # 打开保存音乐的文件夹
64 | self.ui.comment_pushButton.clicked.connect(self.look_comments) # 查看评论
65 | self.ui.comment_pushButton_2.clicked.connect(self.in_excel) # 生成excel文件
66 | self.ui.comment_pushButton_3.clicked.connect(self.open_excel) # 打开excel文件
67 | self.ui.lyrics_pushButton.clicked.connect(self.lyrics) # 查看歌词
68 | self.ui.lyrics_pushButton_2.clicked.connect(self.lyrics_T) # 查看歌词时间版
69 | self.ui.comboBox.currentIndexChanged.connect(self.top) # 查看排行榜
70 | self.ui.home_comboBox_2.currentIndexChanged.connect(self.home_top) # 查看主页排行榜
71 | self.ui.top_pushButton.clicked.connect(self.music_top_dowload) # 下载排行榜里面的音乐
72 | self.ui.music_list_pushButton.clicked.connect(lambda: self.music_list("music_paly")) # 显示歌单内容
73 | self.ui.music_list_pushButton_album.clicked.connect(lambda: self.music_list("album")) # 显示歌单内容
74 | self.ui.music_list_pushButton_2.clicked.connect(self.music_list_downlodn) # 下载歌单里面的音乐
75 | self.ui.music_list_tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) # 设置歌单表格为只读
76 | self.ui.download_tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) # 设置歌单表格为只读
77 | self.lock = threading.Lock()
78 | self.date = Data_List()
79 | self.img_list = [
80 | self.ui.img0, self.ui.img1, self.ui.img2, self.ui.img3,
81 | self.ui.img4, self.ui.img5, self.ui.img6, self.ui.img7
82 | ]
83 | self.title_list = [
84 | self.ui.title0, self.ui.title1, self.ui.title2, self.ui.title3,
85 | self.ui.title4, self.ui.title5, self.ui.title6, self.ui.title7
86 | ]
87 | self.player = QMediaPlayer() # 音乐播放器
88 | self.player.setVolume(50)
89 | self.time = QTimer()
90 | self.ui.music_start_stop.setObjectName("start")
91 | self.time.start(1000) # 定时一秒
92 | self.copyright_flag = False
93 | self.show_title_thread("说唱") # 默认歌单为说唱
94 | self.ui.home_listWidget.itemDoubleClicked.connect(self.music_double_click_thread) # 双击播放线程
95 | self.time.timeout.connect(self.timeout_process)
96 | self.ui.music_start_stop.clicked.connect(self.stop_or_start_song) # 播放暂停
97 | self.ui.music_next.clicked.connect(self.next_music_thread) # 下一首线程
98 | self.ui.music_pre.clicked.connect(self.pre_music_thread) # 上一首线程
99 | self.ui.song_modle.clicked.connect(self.change_modle) # 播放模式改变
100 | self.ui.home_comboBox.currentIndexChanged.connect(self.home_palylist_thread) # 主页歌单切换
101 | self.ui.time_line.sliderMoved.connect(self.music_time_adjust) # 拖动进度条改变播放进度
102 | self.ui.time_line.sliderReleased.connect(self.music_time_adjust_over) # 拖动进度条改变播放进度完成
103 | self.ui.volume_line.valueChanged.connect(self.volume_adjust) # 拖动音量条改变音量
104 | self.ui.home_Button_net.clicked.connect(self.search_show_net) # 搜索结果
105 | self.ui.home_Button_qq.clicked.connect(lambda: self.search_show_qq("tencent")) # 搜索结果
106 | self.ui.home_Button_ku.clicked.connect(lambda: self.search_show_qq("kugou")) # 搜索结果
107 | self.ui.home_download_Button.clicked.connect(self.home_download_thread) # 下载正在播放的音乐
108 | self.ui.change_Button.clicked.connect(self.change_title) # 更换上方图片
109 | for i in self.title_list:
110 | i.clicked.connect(self.home_title_playlist) # 首页歌单和电台点击播放
111 | self.ui.music_next_2.clicked.connect(self.music_pages_next_thread)
112 | self.ui.music_pre_2.clicked.connect(self.music_pages_previous_thread)
113 | def change_title(self):#更换上方图片
114 | title_image = ["title.png","title1.png","title2.png","title3.png","title4.png"]
115 | title = random.sample(title_image,1)
116 | self.ui.label_5.setPixmap(QPixmap(f"{os.getcwd()}/Image/{title[0]}"))
117 | def home_download(self):#播放音乐下载
118 | os.makedirs("Music", exist_ok=True)
119 | url = self.date.music_url[0]
120 | music_name = self.date.music_url[1]
121 | Music_Funciton.music_download(url,music_name)
122 |
123 | self.ui.hmoe_show_label.setText('下载完成!')
124 |
125 | def top_home_show(self,list_info):
126 | self.date.music_name.clear()
127 | self.date.music_id.clear()
128 | self.ui.home_listWidget.clear()
129 | for i in range(len(list_info[0])):
130 | temp = QListWidgetItem(list_info[0][i])
131 | self.date.music_id.append(list_info[1][i])
132 | self.date.music_name.append(list_info[0][i])
133 | temp.setIcon(QIcon(f"{os.getcwd()}/Image/song1.png"))
134 | temp.setToolTip("双击播放")
135 | self.ui.home_listWidget.addItem(temp)
136 |
137 | def home_top(self):#网易云排行榜
138 | text = self.ui.home_comboBox_2.currentText()
139 | self.ui.home_id_Edit.insertPlainText("netease")
140 | if text == "云音乐飙升榜":
141 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=19723756")
142 | self.top_home_show(musi_info)
143 | elif text == "云音乐新歌榜":
144 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=3779629")
145 | self.top_home_show(musi_info)
146 | elif text == "网易原创歌曲榜":
147 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=2884035")
148 | self.top_home_show(musi_info)
149 | elif text == "云音乐热歌榜":
150 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=3778678")
151 | self.top_home_show(musi_info)
152 | elif text == "云音乐说唱榜":
153 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=991319590")
154 | self.top_home_show(musi_info)
155 | elif text == "云音乐古典音乐榜":
156 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=71384707")
157 | self.top_home_show(musi_info)
158 | elif text == "云音乐电音榜":
159 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=1978921795")
160 | self.top_home_show(musi_info)
161 | elif text == "抖音排行榜":
162 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=2250011882")
163 | self.top_home_show(musi_info)
164 | elif text == "新声榜":
165 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=2617766278")
166 | self.top_home_show(musi_info)
167 | elif text == "云音乐ACG音乐榜":
168 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=71385702")
169 | self.top_home_show(musi_info)
170 | elif text == "云音乐韩语榜":
171 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=745956260")
172 | self.top_home_show(musi_info)
173 | elif text == "云音乐国电榜":
174 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=10520166")
175 | self.top_home_show(musi_info)
176 | elif text == "英国Q杂志中文版周榜":
177 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=2023401535")
178 | self.top_home_show(musi_info)
179 | elif text == "电竞音乐榜":
180 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=2006508653")
181 | self.top_home_show(musi_info)
182 | elif text == "UK排行榜周榜":
183 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=180106")
184 | self.top_home_show(musi_info)
185 | elif text == "美国Billboard周榜":
186 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=60198")
187 | self.top_home_show(musi_info)
188 | elif text == "Beatport全球电子舞曲榜":
189 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=3812895")
190 | self.top_home_show(musi_info)
191 | elif text == "KTV唛榜":
192 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=21845217")
193 | self.top_home_show(musi_info)
194 | elif text == "iTunes榜":
195 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=11641012")
196 | self.top_home_show(musi_info)
197 | elif text == "日本Oricon周榜":
198 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=60131")
199 | self.top_home_show(musi_info)
200 | elif text == "Hit FM Top榜":
201 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=120001")
202 | self.top_home_show(musi_info)
203 | elif text == "台湾Hito排行榜":
204 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=112463")
205 | self.top_home_show(musi_info)
206 | elif text == "云音乐欧美热歌榜":
207 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=2809513713")
208 | self.top_home_show(musi_info)
209 | elif text == "法国 NRJ Vos Hits 周榜":
210 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=27135204")
211 | self.top_home_show(musi_info)
212 | elif text == "中国新乡村音乐排行榜":
213 | musi_info = Music_Funciton.music_home_top("https://music.163.com/discover/toplist?id=3112516681")
214 |
215 | # 显示QQ音乐搜索结果
216 | def search_show_qq(self,type):
217 |
218 | self.ui.home_listWidget.clear()
219 | self.date.music_id.clear()
220 | self.date.music_name.clear()
221 | self.ui.home_id_Edit.clear()
222 | music_name = self.ui.home_input_Edit.text()
223 | if type == "tencent":
224 | self.ui.home_id_Edit.insertPlainText("tencent")
225 | list_info = Music_Funciton.home_show_music(type, music_name)
226 | elif type == "kugou":
227 | self.ui.home_id_Edit.insertPlainText("kugou")
228 | list_info = Music_Funciton.home_show_music(type, music_name)
229 |
230 | for i in range(len(list_info)):
231 | temp = QListWidgetItem(list_info[i][1] + "---" + list_info[i][2])
232 | self.date.music_id.append(list_info[i][0])
233 | self.date.music_name.append(list_info[i][1])
234 | temp.setIcon(QIcon(f"{os.getcwd()}/Image/song1.png"))
235 | temp.setToolTip("双击播放")
236 | self.ui.home_listWidget.addItem(temp)
237 | # 显示网易云搜索结果
238 | def search_show_net(self):
239 | self.lock.acquire()
240 |
241 | self.ui.home_listWidget.clear()
242 | self.date.music_id.clear()
243 | self.ui.home_id_Edit.clear()
244 | self.date.music_name.clear()
245 | self.ui.home_id_Edit.insertPlainText("netease")
246 | music_name = self.ui.home_input_Edit.text()
247 |
248 | list_info = Music_Funciton.home_show_music("netease",music_name)
249 | for i in range(len(list_info)):
250 | temp = QListWidgetItem(list_info[i][1]+"---"+list_info[i][2])
251 | self.date.music_id.append(list_info[i][0])
252 | self.date.music_name.append(list_info[i][1])
253 | temp.setIcon(QIcon(f"{os.getcwd()}/Image/song1.png"))
254 | temp.setToolTip("双击播放")
255 | self.ui.home_listWidget.addItem(temp)
256 | self.lock.release()
257 |
258 |
259 | #播放方式改变
260 | def change_modle(self):
261 | if self.ui.song_modle.toolTip() == "列表循环":
262 | self.ui.song_modle.setIcon(QIcon(f"{os.getcwd()}/Image/单曲循环.png"))
263 | self.ui.song_modle.setToolTip("单曲循环")
264 | elif self.ui.song_modle.toolTip() == "单曲循环":
265 | self.ui.song_modle.setIcon(QIcon(f"{os.getcwd()}/Image/随机.png"))
266 | self.ui.song_modle.setToolTip("随机播放")
267 | elif self.ui.song_modle.toolTip() == "随机播放":
268 | self.ui.song_modle.setIcon(QIcon(f"{os.getcwd()}/Image/列表循环.png"))
269 | self.ui.song_modle.setToolTip("列表循环")
270 |
271 | # 播放和暂停
272 | def stop_or_start_song(self):
273 | if self.ui.music_start_stop.objectName() == "start":
274 | if self.ui.home_music_name_label.text():
275 | self.player.play()
276 | self.ui.music_start_stop.setObjectName("stop")
277 | self.ui.music_start_stop.setIcon(QIcon(f"{os.getcwd()}/Image/停在-01.png"))
278 | elif self.ui.music_start_stop.objectName() == "stop":
279 | self.player.pause()
280 | self.ui.music_start_stop.setObjectName("start")
281 | self.ui.music_start_stop.setIcon(QIcon(f"{os.getcwd()}/Image/播放-01.png"))
282 |
283 | #音量图标显示
284 | def volume_adjust(self):
285 | self.player.setVolume(self.ui.volume_line.value())
286 | if self.ui.volume_line.value() == 0:
287 | self.ui.volume.setPixmap(QPixmap(f"{os.getcwd()}/Image/horn_0.png"))
288 | elif self.ui.volume_line.value() < 30:
289 | self.ui.volume.setPixmap(QPixmap(f"{os.getcwd()}/Image/horn_30.png"))
290 | elif self.ui.volume_line.value() < 80:
291 | self.ui.volume.setPixmap(QPixmap(f"{os.getcwd()}/Image/horn.png"))
292 | else:
293 | self.ui.volume.setPixmap(QPixmap(f"{os.getcwd()}/Image/horn_100.png"))
294 |
295 | # 调节播放进度
296 | def music_time_adjust(self):
297 | self.player.pause()
298 | self.player.setPosition(self.ui.time_line.value() * 1000)
299 |
300 | def music_time_adjust_over(self):
301 | self.player.play()
302 |
303 | #下载进程
304 | def home_download_thread(self):
305 | dowload_music = threading.Thread(target=self.home_download)
306 | dowload_music.start()
307 |
308 | # 下一首线程
309 | def next_music_thread(self):
310 | next_music = threading.Thread(target=self.next_music)
311 | next_music.start()
312 |
313 | # 上一首线程
314 | def pre_music_thread(self):
315 | pre_music = threading.Thread(target=self.pre_music)
316 | pre_music.start()
317 |
318 | # 下一首歌曲
319 | def next_music(self):
320 | self.change_music_down()
321 | self.double_click_play()
322 | while self.copyright_flag: # 防止歌单中下一首是没有版权的歌曲导致播放停止
323 | self.change_music_down()
324 | self.double_click_play()
325 |
326 | def pre_music(self):
327 | self.change_music_up()
328 | self.double_click_play()
329 | while self.copyright_flag: # 防止歌单中下一首是没有版权的歌曲导致播放停止
330 | self.change_music_up()
331 | self.double_click_play()
332 |
333 | def change_music_up(self):
334 | index = self.ui.home_listWidget.currentRow()
335 | if not len(self.date.music_name) == 1:
336 | if not self.copyright_flag:
337 | self.date.pre_music_index = index
338 | if self.ui.song_modle.toolTip() == "列表循环":
339 | if index == (len(self.date.music_name) - 1):
340 | index = 0
341 | else:
342 | index = index - 1
343 | elif self.ui.song_modle.toolTip() == "随机播放":
344 | while True:
345 | # 随机播放,防止下一首是本首歌
346 | num = random.randint(0, len(self.date.music_name) - 1)
347 | if not num == index:
348 | index = num
349 | break
350 | self.ui.home_listWidget.setCurrentRow(index)
351 |
352 | def change_music_down(self):
353 | index = self.ui.home_listWidget.currentRow()
354 | if not len(self.date.music_name) == 1:
355 | if not self.copyright_flag:
356 | self.date.pre_music_index = index
357 | if self.ui.song_modle.toolTip() == "列表循环":
358 | if index == (len(self.date.music_name) - 1):
359 | index = 0
360 | else:
361 | index = index + 1
362 | elif self.ui.song_modle.toolTip() == "随机播放":
363 | while True:
364 | # 随机播放,防止下一首是本首歌
365 | num = random.randint(0, len(self.date.music_name) - 1)
366 | if not num == index:
367 | index = num
368 | break
369 | self.ui.home_listWidget.setCurrentRow(index)
370 |
371 | def timeout_process(self):#时间线显示
372 | if self.ui.music_start_stop.objectName() == "stop":
373 | time_value = self.ui.time_line.value()
374 | self.ui.time_line.setValue(time_value + 1)
375 | self.ui.time_pre_2.setText(
376 | str((time_value + 1) // 60).zfill(2) + ':' + str((time_value + 1) % 60).zfill(2)
377 | )
378 | if self.ui.time_pre_2.text() == self.ui.time_pre_3.text():
379 | self.player_stop_setting()
380 | self.ui.time_pre_2.setText("00:00")
381 | self.ui.time_line.setValue(0)
382 | self.next_music_thread()
383 | if self.ui.time_pre_2.text() == "00:02":
384 | time_long = self.player.duration() # 获取到实际这首歌的播放长度
385 | self.ui.time_line.setRange(0, int(time_long / 1000) + 1) # 设置进度条范围
386 | self.ui.time_pre_3.setText( # 设置音频长度的显示
387 | str(int(time_long / 1000) // 60).zfill(2) + ':' + str(int(time_long / 1000) % 60).zfill(2)
388 | )
389 |
390 | def music_double_click_thread(self):#首页音乐框 双击歌曲后播放 多线程运行
391 | double_click = threading.Thread(target=self.double_click_play)
392 | double_click.start()
393 |
394 | def player_setting(self):#播放开始
395 | self.ui.time_line.setValue(0)
396 | self.ui.time_pre_2.setText("00:00")
397 | self.player.play()
398 | self.ui.music_start_stop.setIcon(QIcon(f"{os.getcwd()}/Image/停在-01.png"))
399 | self.ui.music_start_stop.setObjectName("stop")
400 |
401 | def player_stop_setting(self):#播放停止
402 | self.player.stop()
403 | self.ui.music_start_stop.setObjectName("start")
404 | self.ui.music_start_stop.setIcon(QIcon(f"{os.getcwd()}/Image/播放-01.png"))
405 | self.player_setting()
406 | self.copyright_flag = False
407 | def double_click_play(self):#首页音乐框 双击歌曲后播放
408 | self.ui.hmoe_show_label.setText('')
409 | index = self.ui.home_listWidget.currentRow() # 获取双击的标签的索引值
410 | music_type = self.ui.home_id_Edit.toPlainText()
411 | self.date.music_url.clear()
412 |
413 | if music_type == "tencent":
414 | music_id = self.date.music_id[index]
415 | url = Music_Funciton.home_play_music(music_id,music_type)
416 | self.player_stop_setting() # 播放停止设置
417 | self.player.setMedia(QMediaContent(QUrl(url)))
418 | self.date.music_url.append(url)
419 | self.date.music_url.append(self.date.music_name[index])
420 | self.ui.home_music_name_label.setText(self.date.music_name[index])
421 | self.player_setting() # 播放开始设置
422 | self.copyright_flag = False
423 | elif music_type == "kugou":
424 | music_id = self.date.music_id[index]
425 | url = Music_Funciton.home_play_music(music_id, music_type)
426 | self.player_stop_setting() # 播放停止设置
427 | self.player.setMedia(QMediaContent(QUrl(url)))
428 | self.date.music_url.append(url)
429 | self.date.music_url.append(self.date.music_name[index])
430 | self.ui.home_music_name_label.setText(self.date.music_name[index])
431 | self.player_setting() # 播放开始设置
432 | self.copyright_flag = False
433 | else:
434 | music_id = self.date.music_id[index]
435 | url = Music_Funciton.song_url(music_id)
436 | self.player_stop_setting() # 播放停止设置
437 | self.player.setMedia(QMediaContent(QUrl(url)))
438 | self.date.music_url.append(url)
439 | self.date.music_url.append(self.date.music_name[index])
440 | self.ui.home_music_name_label.setText(self.date.music_name[index])
441 | self.player_setting() # 播放开始设置
442 | self.copyright_flag = False
443 |
444 |
445 | def home_title_playlist(self):#显示歌单音乐
446 | self.ui.home_id_Edit.clear()
447 | send = self.sender()
448 | id_str = send.objectName()
449 | self.date.music_name, self.date.music_id = Music_Funciton.playlist_info(id_str.split('=')[1])
450 | self.ui.home_listWidget.clear() # 列表清空
451 | for i in range(len(self.date.music_name)): # 加入选中歌单中的歌曲名
452 | temp = QListWidgetItem(self.date.music_name[i])
453 | temp.setIcon(QIcon(f"{os.getcwd()}/Image/song1.png"))
454 | temp.setToolTip("双击播放")
455 | self.ui.home_listWidget.addItem(temp)
456 |
457 |
458 | def title_txt(self,title):#主页歌单标题字数限制
459 | if len(title) > 18:
460 | return title[:9] + '\n' + title[9:18]+"..."
461 | elif len(title) > 9:
462 | return title[:9] + '\n' + title[9:]
463 | else:
464 | return title
465 |
466 | def show_title_thread(self,type):#主页歌单标题button 多线程运行
467 | first_page_display = threading.Thread(target=lambda:self.home_show_title(type))
468 | first_page_display.start()
469 |
470 | def music_pages_previous_thread(self):
471 | next = threading.Thread(target=self.music_pages_previous)
472 | next.start()
473 | def music_pages_next_thread(self):
474 | next = threading.Thread(target=self.music_pages_next)
475 | next.start()
476 | def home_palylist_thread(self):
477 | home_palylist_ing = threading.Thread(target=self.home_palylist)
478 | home_palylist_ing.start()
479 |
480 | def home_palylist(self):#网易云排行榜
481 | text = self.ui.home_comboBox.currentText()
482 | if text == "华语":
483 | self.show_title_thread(text)
484 | elif text == "欧美":
485 | self.show_title_thread(text)
486 | elif text == "日语":
487 | self.show_title_thread(text)
488 | elif text == "韩语":
489 | self.show_title_thread(text)
490 | elif text == "粤语":
491 | self.show_title_thread(text)
492 | elif text == "说唱":
493 | self.show_title_thread(text)
494 | elif text == "流行":
495 | self.show_title_thread(text)
496 | elif text == "民谣":
497 | self.show_title_thread(text)
498 | elif text == "爵士":
499 | self.show_title_thread(text)
500 | elif text == "乡村":
501 | self.show_title_thread(text)
502 | elif text == "古典":
503 | self.show_title_thread(text)
504 | elif text == "古风":
505 | self.show_title_thread(text)
506 | elif text == "清晨":
507 | self.show_title_thread(text)
508 | elif text == "夜晚":
509 | self.show_title_thread(text)
510 | elif text == "学习":
511 | self.show_title_thread(text)
512 | elif text == "工作":
513 | self.show_title_thread(text)
514 |
515 | def home_show_title(self,type):#主页歌单标题button
516 |
517 | self.ui.home_listWidget.clear()
518 | self.date.img_url, self.date.bt_name, self.date.bt_id = Music_Funciton.wyy_first_page(type)
519 | self.date.music_count = int(len(self.date.img_url)/8)
520 | self.ui.hmoe_pages_label.setText(f'1/{str(self.date.music_count)}')
521 |
522 | for i in range(8):
523 | img = QPixmap()
524 | img.loadFromData(requests.get(self.date.img_url[i]).content)
525 | self.img_list[i].setPixmap(img)
526 | self.title_list[i].setText(self.title_txt(self.date.bt_name[i]))
527 | self.title_list[i].setObjectName(self.date.bt_id[i])
528 |
529 | def music_pages_next(self):#歌单页面下一页
530 | if self.date.music_pages+1 < self.date.music_count:
531 | self.date.music_pages += 1
532 | self.ui.hmoe_pages_label.setText(f'{str(self.date.music_pages+1)}/{str(self.date.music_count)}')
533 | for i in range(8):
534 | img = QPixmap()
535 | img.loadFromData(requests.get(self.date.img_url[(8*self.date.music_pages)+i]).content)
536 | self.img_list[i].setPixmap(img)
537 | self.title_list[i].setText(self.title_txt(self.date.bt_name[(8*self.date.music_pages)+i]))
538 | self.title_list[i].setObjectName(self.date.bt_id[(8*self.date.music_pages)+i])
539 | else:
540 | self.ui.hmoe_show_label.setText('最后一页啦!')
541 | time.sleep(1)
542 | self.ui.hmoe_show_label.setText('')
543 |
544 | def music_pages_previous(self):#歌单页面上一页
545 | if self.date.music_pages+1 == 1:
546 | self.ui.hmoe_show_label.setText('已经是第一页!')
547 | time.sleep(1)
548 | self.ui.hmoe_show_label.setText('')
549 | else:
550 | self.ui.hmoe_pages_label.setText(f'{str(self.date.music_pages)}/{str(self.date.music_count)}')
551 | self.date.music_pages -= 1
552 | for i in range(8):
553 | img = QPixmap()
554 | img.loadFromData(requests.get(self.date.img_url[(8 * self.date.music_pages)-i]).content)
555 | self.img_list[i].setPixmap(img)
556 | self.title_list[i].setText(self.title_txt(self.date.bt_name[(8 * self.date.music_pages)-i]))
557 | self.title_list[i].setObjectName(self.date.bt_id[(8 * self.date.music_pages)-i])
558 |
559 | # ------------------------------ 歌单 ------------------------------
560 |
561 | def setProgress(self, value):#歌单进度条
562 | self.ui.all_d_Bar.setValue(value)
563 |
564 | def all_download(self,song_id,music,name):
565 | try:
566 | song_url = f"http://music.163.com/song/media/outer/url?id={song_id}.mp3"
567 | Music_Funciton.music_download(song_url,music,name)
568 | except:
569 | pass
570 |
571 | def all_music_download(self):
572 | music_name = []
573 | music_singe = []
574 | id_num = self.ui.music_list_id_Edit.toPlainText()
575 | id_info = id_num.split()
576 | method = self.ui.music_list_tableWidget.rowCount()
577 | self.ui.all_d_Bar.setRange(0,method)
578 |
579 | for i in range(method):
580 | music_n = self.ui.music_list_tableWidget.item(i, 0).text()
581 | music_s = self.ui.music_list_tableWidget.item(i, 1).text()
582 | music_name.append(music_n)
583 | music_singe.append(music_s)
584 | def dodownload():
585 | self.ongoing = True
586 | for i in range(method):
587 | self.all_download(id_info[i],music_name[i],music_singe[i])
588 | so.progress_update.emit(i+1)
589 | self.ongoing = False
590 | if self.ongoing:
591 | QMessageBox.warning(
592 | self.ui,
593 | '警告', '下载中,请等待完成')
594 | return
595 | t = threading.Thread(target=dodownload,daemon=True)
596 | t.start()
597 |
598 | def music_list(self,type):#歌单
599 | self.ui.music_list_id_Edit.clear()
600 | method = self.ui.music_list_tableWidget.rowCount()
601 | for i in range(method):
602 | self.ui.music_list_tableWidget.removeRow(0)
603 |
604 | music_id = int(self.ui.music_list_Edit.text())
605 | if type == 'music_paly':
606 | music_play_list = cloudmusic.getPlaylist(music_id)
607 | else:
608 | music_play_list = cloudmusic.getAlbum(music_id)
609 |
610 | self.ui.music_list_label.setText(f'搜索成功!共{len(music_play_list)}首')
611 |
612 | for i in range(len(music_play_list)):
613 | self.ui.music_list_tableWidget.insertRow(0)
614 | for i in range(len(music_play_list)):
615 | self.ui.music_list_tableWidget.setItem(i, 0, QTableWidgetItem(f"{music_play_list[i].name}"))
616 | self.ui.music_list_tableWidget.setItem(i, 1, QTableWidgetItem(f"{music_play_list[i].artist[0]}"))
617 | self.ui.music_list_tableWidget.setItem(i, 2, QTableWidgetItem(f"《{music_play_list[i].album}》"))
618 | self.ui.music_list_id_Edit.insertPlainText(f'{music_play_list[i].id}\n')
619 |
620 |
621 | def music_list_downlodn(self):#歌单音乐下载
622 |
623 | id_num = self.ui.music_list_id_Edit.toPlainText()
624 | id_info = id_num.split()
625 |
626 | d_num = int(self.ui.music_list_lineEdit.text())
627 |
628 | name = self.ui.music_list_tableWidget.item(d_num-1,0).text()
629 |
630 | song_id = id_info[d_num - 1]
631 |
632 |
633 | song_url = f"http://music.163.com/song/media/outer/url?id={song_id}.mp3"
634 | Music_Funciton.music_download(song_url, name)
635 |
636 | self.ui.music_list_label.setText('下载成功!')
637 | time.sleep(1)
638 | self.ui.music_list_label.setText('')
639 |
640 |
641 | def open_file(self):#打开文件夹
642 | try:
643 | os.startfile(f'{os.getcwd()}/Music')
644 | except FileNotFoundError:
645 | self.ui.show_label.setText('你还没下载呢!')
646 |
647 | # ------------------------------ 歌单 ------------------------------
648 |
649 | # ------------------------------ 排行榜 ------------------------------
650 |
651 | def top_setProgress(self, value):#排行榜进度条
652 | self.ui.top_d_Bar.setValue(value)
653 |
654 | def all_top_download(self):#排行榜所有音乐下载
655 | music = self.ui.top_textEdit.toPlainText()
656 | music_info = music.split("\n")
657 | id_num = self.ui.top_id_Edit.toPlainText()
658 | id_info = id_num.split()
659 | music_info_remove = []
660 | self.ui.top_d_Bar.setRange(0,len(id_info))
661 | for i in range(len(music_info)):
662 | music_info_remove.append(re.findall(r'《(.*)》', music_info[i]))
663 | def top_dodownload():
664 | self.ongoing = True
665 | for i in range(len(id_info)):
666 | self.all_download(id_info[i], music_info_remove[i][0],name= "")
667 | so.top_progress_update.emit(i + 1)
668 | self.ongoing = False
669 | if self.ongoing:
670 | QMessageBox.warning(
671 | self.ui,
672 | '警告', '下载中,请等待完成')
673 | return
674 | t = threading.Thread(target=top_dodownload, daemon=True)
675 | t.start()
676 |
677 | def top(self):#网易云排行榜
678 | text = self.ui.comboBox.currentText()
679 | if text == "云音乐飙升榜":
680 | self.music_top("https://music.163.com/discover/toplist?id=19723756")
681 | self.ui.top_show_label.setText(f'《{text}》')
682 | elif text == "云音乐新歌榜":
683 | self.music_top("https://music.163.com/discover/toplist?id=3779629")
684 | self.ui.top_show_label.setText(f'《{text}》')
685 | elif text == "网易原创歌曲榜":
686 | self.music_top("https://music.163.com/discover/toplist?id=2884035")
687 | self.ui.top_show_label.setText(f'《{text}》')
688 | elif text == "云音乐热歌榜":
689 | self.music_top("https://music.163.com/discover/toplist?id=3778678")
690 | self.ui.top_show_label.setText(f'《{text}》')
691 | elif text == "云音乐说唱榜":
692 | self.music_top("https://music.163.com/discover/toplist?id=991319590")
693 | self.ui.top_show_label.setText(f'《{text}》')
694 | elif text == "云音乐古典音乐榜":
695 | self.music_top("https://music.163.com/discover/toplist?id=71384707")
696 | self.ui.top_show_label.setText(f'《{text}》')
697 | elif text == "云音乐电音榜":
698 | self.music_top("https://music.163.com/discover/toplist?id=1978921795")
699 | self.ui.top_show_label.setText(f'《{text}》')
700 | elif text == "抖音排行榜":
701 | self.music_top("https://music.163.com/discover/toplist?id=2250011882")
702 | self.ui.top_show_label.setText(f'《{text}》')
703 | elif text == "新声榜":
704 | self.music_top("https://music.163.com/discover/toplist?id=2617766278")
705 | self.ui.top_show_label.setText(f'《{text}》')
706 | elif text == "云音乐ACG音乐榜":
707 | self.music_top("https://music.163.com/discover/toplist?id=71385702")
708 | self.ui.top_show_label.setText(f'《{text}》')
709 | elif text == "云音乐韩语榜":
710 | self.music_top("https://music.163.com/discover/toplist?id=745956260")
711 | self.ui.top_show_label.setText(f'《{text}》')
712 | elif text == "云音乐国电榜":
713 | self.music_top("https://music.163.com/discover/toplist?id=10520166")
714 | self.ui.top_show_label.setText(f'《{text}》')
715 | elif text == "英国Q杂志中文版周榜":
716 | self.music_top("https://music.163.com/discover/toplist?id=2023401535")
717 | self.ui.top_show_label.setText(f'《{text}》')
718 | elif text == "电竞音乐榜":
719 | self.music_top("https://music.163.com/discover/toplist?id=2006508653")
720 | self.ui.top_show_label.setText(f'《{text}》')
721 | elif text == "UK排行榜周榜":
722 | self.music_top("https://music.163.com/discover/toplist?id=180106")
723 | self.ui.top_show_label.setText(f'《{text}》')
724 | elif text == "美国Billboard周榜":
725 | self.music_top("https://music.163.com/discover/toplist?id=60198")
726 | self.ui.top_show_label.setText(f'《{text}》')
727 | elif text == "Beatport全球电子舞曲榜":
728 | self.music_top("https://music.163.com/discover/toplist?id=3812895")
729 | self.ui.top_show_label.setText(f'《{text}》')
730 | elif text == "KTV唛榜":
731 | self.music_top("https://music.163.com/discover/toplist?id=21845217")
732 | self.ui.top_show_label.setText(f'《{text}》')
733 | elif text == "iTunes榜":
734 | self.music_top("https://music.163.com/discover/toplist?id=11641012")
735 | self.ui.top_show_label.setText(f'《{text}》')
736 | elif text == "日本Oricon周榜":
737 | self.music_top("https://music.163.com/discover/toplist?id=60131")
738 | self.ui.top_show_label.setText(f'《{text}》')
739 | elif text == "Hit FM Top榜":
740 | self.music_top("https://music.163.com/discover/toplist?id=120001")
741 | self.ui.top_show_label.setText(f'《{text}》')
742 | elif text == "台湾Hito排行榜":
743 | self.music_top("https://music.163.com/discover/toplist?id=112463")
744 | self.ui.top_show_label.setText(f'《{text}》')
745 | elif text == "云音乐欧美热歌榜":
746 | self.music_top("https://music.163.com/discover/toplist?id=2809513713")
747 | self.ui.top_show_label.setText(f'《{text}》')
748 | elif text == "法国 NRJ Vos Hits 周榜":
749 | self.music_top("https://music.163.com/discover/toplist?id=27135204")
750 | self.ui.top_show_label.setText(f'《{text}》')
751 | elif text == "中国新乡村音乐排行榜":
752 | self.music_top("https://music.163.com/discover/toplist?id=3112516681")
753 | self.ui.top_show_label.setText(f'《{text}》')
754 |
755 | def music_top_dowload(self):#排行榜音乐下载
756 | try:
757 | num = int(self.ui.top_lineEdit.text())
758 |
759 | id_num = self.ui.top_id_Edit.toPlainText()
760 | id_info = id_num.split()
761 |
762 | name = self.ui.top_textEdit.toPlainText()
763 | name_info = re.findall(r'《(.*)》', name)
764 |
765 | song_id = id_info[num - 1]
766 | song_name = name_info[num - 1]
767 | song_url = f"http://music.163.com/song/media/outer/url?id={song_id}.mp3"
768 |
769 | os.makedirs("Music", exist_ok=True)
770 | Music_Funciton.music_download(song_url,song_name)
771 |
772 | self.ui.top_show_label.setText('下载完成!')
773 | except:
774 | self.ui.top_show_label.setText("你还没有输入序号哦!")
775 |
776 | def music_top(self,url):#网易云音乐排行榜显示
777 | self.ui.top_textEdit.clear()
778 | self.ui.top_id_Edit.clear()
779 |
780 | try:
781 | headers = {
782 | 'authority': 'music.163.com',
783 | 'upgrade-insecure-requests': '1',
784 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36',
785 | 'sec-fetch-dest': 'iframe',
786 | 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
787 | 'sec-fetch-site': 'same-origin',
788 | 'sec-fetch-mode': 'navigate',
789 | 'referer': 'https://music.163.com/',
790 | 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
791 | 'cookie': '_ga=GA1.2.1412864897.1553836840; _iuqxldmzr_=32; _ntes_nnid=b757609ed6b0fea92825e343fb9dfd21,1568216071410; _ntes_nuid=b757609ed6b0fea92825e343fb9dfd21; WM_TID=Pg3EkygrDw1EBAVUVRIttkwA^%^2Bn1s1Vww; P_INFO=183605463^@qq.com^|1581593068^|0^|nmtp^|00^&99^|null^&null^&null^#not_found^&null^#10^#0^|^&0^|^|183605463^@qq.com; mail_psc_fingerprint=d87488b559a786de4942ad31e080b75f; __root_domain_v=.163.com; _qddaz=QD.n0p8sb.xdhbv8.k75rl6g4; __oc_uuid=2f4eb790-6da9-11ea-9922-b14d70d91022; hb_MA-BFF5-63705950A31C_source=blog.csdn.net; UM_distinctid=171142b7a6d3ba-0fbb0bf9a78375-4313f6a-144000-171142b7a6e30b; vinfo_n_f_l_n3=6d6e1214849bb357.1.0.1585181322988.0.1585181330388; JSESSIONID-WYYY=jJutWzFVWmDWzmt2vzgf6t5RgAaMOhSIKddpHG9mTIhK8fWqZndgocpo87cjYkMxKIlF^%^2BPjV^%^2F2NPykYHKUnMHkHRuErCNerHW6DtnD8HB09idBvHCJznNJRniCQ9XEl^%^2F7^%^2Bovbwgy7ihPO3oJIhM8s861d^%^2FNvyRTMDjVtCy^%^5CasJPKrAty^%^3A1585279750488; WM_NI=SnWfgd^%^2F5h0XFsqXxWEMl0vNVE8ZjZCzrxK^%^2F9A85boR^%^2BpV^%^2BA9J27jZCEbCqViaXw6If1Ecm7okWiL^%^2BKU2G8frpRB^%^2BRRDpz8RNJnagZdXn6KNVBHwK2tnvUL^%^2BxWQ^%^2BhGf2aeWE^%^3D; WM_NIKE=9ca17ae2e6ffcda170e2e6ee84b64f86878d87f04fe9bc8fa3c84f878f9eafb65ab59498cccf48f7929fb5e72af0fea7c3b92a91b29987e670edeba8d1db4eb1af9899d64f8fb40097cd5e87e8968bd949baaeb8acae3383e8fb83ee5ae9b09accc4338aeef98bd94987be8d92d563a388b9d7cc6ef39bad8eb665a989a7adaa4197ee89d9e57ab48e8eccd15a88b0b6d9d1468ab2af88d9709cb2faaccd5e8298b9acb180aeaa9badaa74958fe589c66ef2bfabb8c837e2a3; playerid=67583529',
792 | }
793 |
794 | res = requests.get(url, headers=headers)
795 | res.encoding = res.apparent_encoding
796 | res.raise_for_status()
797 | except:
798 | self.ui.top_show_label.setText('网页提取出现问题!')
799 | text = res.text
800 | try:
801 | all = re.findall(r'
', text, re.I)
802 | str = all[0]
803 | strlist = re.findall(r'">(.*?)', str)
804 | idlist = re.findall(r'id=(\d+)', str)
805 | for i in range(len(strlist)):
806 | self.ui.top_textEdit.insertPlainText(f"{i+1} 《{strlist[i]}》\n")
807 | self.ui.top_id_Edit.insertPlainText(f"{idlist[i]}\n")
808 | except:
809 | self.ui.top_show_label.setText('提取文章出错!')
810 |
811 | # ------------------------------ 排行榜 ------------------------------
812 |
813 | # ------------------------------ 歌词 ------------------------------
814 |
815 | def lyrics_T(self):#歌词显示
816 |
817 | headers = {
818 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
819 | }
820 | self.ui.lyrics_textEdit.clear()
821 |
822 | type_music = self.ui.type_Edit.toPlainText()
823 | if type_music == 'netease':
824 | id_num = self.ui.id_Edit.toPlainText()
825 | id_info = id_num.split()
826 | d_num = int(self.ui.lyrics_Edit.text())
827 |
828 | name = self.ui.download_tableWidget.item(d_num - 1, 0).text()
829 |
830 | song_id = id_info[d_num - 1]
831 |
832 | lrc_url = f'http://music.163.com/api/song/lyric?id={song_id}&lv=1&kv=1&tv=-1'
833 | lyric = requests.get(lrc_url,headers = headers)
834 | json_obj = lyric.text # 网页源码
835 | j = json.loads(json_obj)
836 | lrc = j['lrc']['lyric']
837 | self.ui.lyrics_textEdit.insertPlainText(lrc)
838 |
839 | self.ui.lyrics_show_label.setText(f"《{name}》")
840 | elif type_music == 'tencent' or type_music == 'kugou':
841 | self.ui.lyrics_show_label.setText("只支持网易云音乐哦!")
842 | else:
843 | self.ui.lyrics_show_label.setText("没有找到音乐信息,请先搜索吧!")
844 |
845 | def lyrics(self):#歌词显示 时间版
846 | headers = {
847 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
848 | }
849 | self.ui.lyrics_textEdit.clear()
850 |
851 |
852 | type_music = self.ui.type_Edit.toPlainText()
853 | if type_music == 'netease':
854 | id_num = self.ui.id_Edit.toPlainText()
855 | id_info = id_num.split()
856 |
857 | d_num = int(self.ui.lyrics_Edit.text())
858 | name = self.ui.download_tableWidget.item(d_num - 1, 0).text()
859 | song_id = id_info[d_num - 1]
860 |
861 | lrc_url = f'http://music.163.com/api/song/lyric?id={song_id}&lv=1&kv=1&tv=-1'
862 | lyric = requests.get(lrc_url,headers = headers)
863 | json_obj = lyric.text # 网页源码
864 | j = json.loads(json_obj)
865 | lrc = j['lrc']['lyric']
866 | pat = re.compile(r'\[.*\]')
867 | lrc = re.sub(pat, "", lrc)
868 | lrc = lrc.strip()
869 | self.ui.lyrics_textEdit.insertPlainText(lrc)
870 |
871 | self.ui.lyrics_show_label.setText(f"《{name}》")
872 | elif type_music == 'tencent' or type_music == 'kugou':
873 | self.ui.lyrics_show_label.setText("只支持网易云音乐哦!")
874 | else:
875 | self.ui.lyrics_show_label.setText("没有找到音乐信息,请先搜索吧!")
876 |
877 | # ------------------------------ 歌词 ------------------------------
878 |
879 | # ------------------------------ 评论 ------------------------------
880 |
881 | def in_excel(self):#把评论写入excel
882 | headers = {
883 | 'Host': 'music.163.com',
884 | 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
885 | }
886 | """
887 | 获取评论信息
888 | """
889 | id = self.ui.comment_id_Edit.toPlainText()
890 | name = self.ui.comment_name_textEdit.toPlainText()
891 | list_info_ct = []
892 |
893 | music = cloudmusic.getMusic(id)
894 | coms = music.getHotComments()
895 | for com in coms:
896 | timeStamp = (com['time']) / 1000
897 | dateArray = datetime.datetime.fromtimestamp(timeStamp)
898 | otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
899 | info = []
900 | info.append(com["nickName"])
901 | info.append(com["likeCount"])
902 | info.append(otherStyleTime)
903 | info.append(com["content"].strip().replace('\n', '').replace(',', ','))
904 | list_info_ct.append(info)
905 |
906 | try:
907 | for page in range(0,1020,20):
908 | url = f'http://music.163.com/api/v1/resource/comments/R_SO_4_{id}?limit=20&offset=' + str(page)
909 | response = requests.get(url=url, headers=headers)
910 | # 将字符串转为json格式
911 | result = json.loads(response.text)
912 | items = result['comments']
913 | for item in items:
914 | info = []
915 | # 用户名
916 | user_name = item['user']['nickname'].replace(',', ',')
917 | # 评论内容
918 | comment = item['content'].strip().replace('\n', '').replace(',', ',')
919 | # 评论点赞数
920 | praise = str(item['likedCount'])
921 | # 评论时间
922 | date = time.localtime(int(str(item['time'])[:10]))
923 | date = time.strftime("%Y-%m-%d %H:%M:%S", date)
924 | info.append(user_name)
925 | info.append(praise)
926 | info.append(date)
927 | info.append(comment)
928 | list_info_ct.append(info)
929 | book = xlwt.Workbook(encoding='utf-8', style_compression=0) # 创建workbook对象
930 | sheet = book.add_sheet("网易云评论", cell_overwrite_ok=True) # 创建工作表
931 | col = ("用户昵称","点赞数","发布时间","评论")
932 | for i in range(4):
933 | sheet.write(0, i, col[i]) # 列名
934 | for i in range(len(list_info_ct)):
935 | data = list_info_ct[i]
936 | for j in range(4):
937 | sheet.write(i + 1, j, data[j]) # 数据
938 | os.makedirs("Excel", exist_ok=True)
939 | book.save(f"{os.getcwd()}\Excel\\{name}.xls")
940 |
941 | self.ui.comment_show_label.setText("生成完毕!")
942 | except KeyError:
943 | self.ui.comment_show_label.setText("没有找到音乐信息哦,请先搜索吧!")
944 |
945 | def open_excel(self):#打开excel文件
946 | try:
947 | name = self.ui.comment_name_textEdit.toPlainText()
948 | os.startfile(f'{os.getcwd()}\Excel\\{name}.xls')
949 | except FileNotFoundError:
950 | self.ui.comment_show_label.setText("没有找到Excel文件哦,请先生成吧!")
951 |
952 | def singer_show(self,name,id):#评论部分信息显示
953 | self.ui.comment_id_Edit.clear()
954 | self.ui.comment_name_textEdit.clear()
955 | self.ui.comment_show_label.setText(f'《{name}》')
956 | self.ui.comment_id_Edit.insertPlainText(f'{id}')
957 | self.ui.comment_name_textEdit.insertPlainText(f'{name}')
958 |
959 |
960 | def look_comments(self):#查看网易云歌曲评论
961 | self.ui.comment_textEdit.clear()
962 | self.ui.comment_id_Edit.clear()
963 | self.ui.comment_name_textEdit.clear()
964 |
965 | type_music = self.ui.type_Edit.toPlainText()
966 | if type_music == 'netease':
967 | id_num = self.ui.id_Edit.toPlainText()
968 | id_info = id_num.split()
969 | d_num = int(self.ui.comment_Edit.text())
970 |
971 | name = self.ui.download_tableWidget.item(d_num - 1, 0).text()
972 |
973 | song_id = id_info[d_num - 1]
974 | self.output_comments(song_id)
975 | self.singer_show(name,song_id)
976 | elif type_music == 'tencent' or type_music == 'kugou':
977 | self.ui.comment_show_label.setText("只支持网易云音乐哦!")
978 | else :
979 | self.ui.comment_show_label.setText("请先搜索音乐哦!")
980 | def output_comments(self,id):#显示爬取的评论
981 |
982 | music = cloudmusic.getMusic(id)
983 |
984 | coms = music.getHotComments()
985 | self.ui.comment_textEdit.insertPlainText("---------------热评---------------\n")
986 | for com in coms:
987 | timeStamp = (com['time']) / 1000
988 | dateArray = datetime.datetime.fromtimestamp(timeStamp)
989 | otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
990 | self.ui.comment_textEdit.insertPlainText(
991 | f'评论:[ {com["content"].strip()} ]\n用户昵称:({com["nickName"]})\n点赞数:{com["likeCount"]}\n时间:{otherStyleTime}\n\n')
992 |
993 |
994 | try:
995 | for i in range(0, 400, 20):
996 | self.ui.comment_textEdit.insertPlainText('---------------第 ' + str(i // 20 + 1) + ' 页---------------\n\n')
997 | list_info = self.get_comments(i,id)
998 | for j in range(20):
999 | self.ui.comment_textEdit.insertPlainText(
1000 | f'评论:[ {list_info[j][1]} ]\n用户昵称:({list_info[j][0]})\n点赞数:{list_info[j][2]}\n时间:{list_info[j][3]}\n\n')
1001 | except IndexError:
1002 | self.ui.comment_textEdit.insertPlainText("---------------全部评论已经爬取完毕!---------------")
1003 |
1004 | def get_comments(self, page, id):
1005 | headers = {
1006 | 'Host': 'music.163.com',
1007 | 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
1008 | }
1009 | """
1010 | 获取评论信息
1011 | """
1012 | url = f'http://music.163.com/api/v1/resource/comments/R_SO_4_{id}?limit=20&offset=' + str(page)
1013 | response = requests.get(url=url, headers=headers)
1014 | # 将字符串转为json格式
1015 | result = json.loads(response.text)
1016 | type_music = self.ui.type_Edit.toPlainText()
1017 | if type_music == 'netease':
1018 | items = result['comments']
1019 | list_info_ct = []
1020 | for item in items:
1021 | info = []
1022 | # 用户名
1023 | user_name = item['user']['nickname'].replace(',', ',')
1024 | # 评论内容
1025 | comment = item['content'].strip().replace('\n', '').replace(',', ',')
1026 | # 评论点赞数
1027 | praise = str(item['likedCount'])
1028 | # 评论时间
1029 | date = time.localtime(int(str(item['time'])[:10]))
1030 | date = time.strftime("%Y-%m-%d %H:%M:%S", date)
1031 | info.append(user_name)
1032 | info.append(comment)
1033 | info.append(praise)
1034 | info.append(date)
1035 | list_info_ct.append(info)
1036 | return list_info_ct
1037 | elif type_music == 'tencent' or type_music == 'kugou':
1038 | self.ui.lyrics_show_label.setText("只支持网易云音乐哦!")
1039 | else:
1040 | self.ui.lyrics_show_label.setText("没有找到音乐信息,请先搜索吧!")
1041 |
1042 | # ------------------------------ 评论 ------------------------------
1043 |
1044 | # ------------------------------音乐下载------------------------------
1045 |
1046 | def platform_netease(self):
1047 | name = self.ui.input_Edit.text()
1048 | if name == '':
1049 | self.ui.show_label.setText('请先搜索音乐哦!')
1050 | else:
1051 | self.show_music('netease')
1052 |
1053 | def platform_tencent(self):
1054 | name = self.ui.input_Edit.text()
1055 | if name == '':
1056 | self.ui.show_label.setText('请先搜索音乐哦!')
1057 | else:
1058 | self.show_music('tencent')
1059 |
1060 | def platform_kugou(self):
1061 | name = self.ui.input_Edit.text()
1062 | if name == '':
1063 | self.ui.show_label.setText('请先搜索音乐哦!')
1064 | else:
1065 | self.show_music('kugou')
1066 |
1067 |
1068 | def show_music(self,source):#显示音乐
1069 | self.ui.type_Edit.clear()
1070 | self.ui.type_Edit.insertPlainText(source)
1071 | self.ui.id_Edit.clear()
1072 | self.ui.show_label.setText('搜索完成!')
1073 |
1074 |
1075 | name = self.ui.input_Edit.text()
1076 |
1077 |
1078 | url = 'https://api.zhuolin.wang/api.php?callback=jQuery111303334237052043867_1589428664685&types=playlist&id=3778678&_=1589428664686'
1079 | data = {
1080 | 'types': 'search',
1081 | 'count': '20',
1082 | 'source': f'{source}',
1083 | 'pages': '1',
1084 | 'name': name
1085 | }
1086 |
1087 | headers = {
1088 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
1089 | }
1090 |
1091 |
1092 | list_info = Music_Funciton.musicSpider(url, data, headers)
1093 |
1094 |
1095 | method = self.ui.download_tableWidget.rowCount()
1096 | for i in range(method):
1097 | self.ui.download_tableWidget.removeRow(0)
1098 |
1099 | for i in range(len(list_info) ):
1100 | self.ui.download_tableWidget.insertRow(0)
1101 | for i in range(len(list_info)):
1102 | self.ui.download_tableWidget.setItem(i, 0, QTableWidgetItem(f"{list_info[i][1]}"))
1103 | self.ui.download_tableWidget.setItem(i, 1, QTableWidgetItem(f"{list_info[i][2]}"))
1104 | self.ui.download_tableWidget.setItem(i, 2, QTableWidgetItem(f"《{list_info[i][3]}》"))
1105 | self.ui.id_Edit.insertPlainText(f'{list_info[i][0]}\n')
1106 |
1107 |
1108 | def download_type_thread(self):
1109 | download_type_ing = threading.Thread(target=self.download_type)
1110 | download_type_ing.start()
1111 |
1112 | def download_type(self):
1113 | type_music = self.ui.type_Edit.toPlainText()
1114 | if type_music == 'netease':
1115 | self.download_music_netease()
1116 | elif type_music == 'tencent':
1117 | self.download_music('tencent')
1118 | elif type_music == 'kugou':
1119 | self.download_music('kugou')
1120 |
1121 | def download_music_netease(self):#网易云音乐下载
1122 |
1123 |
1124 | id_num = self.ui.id_Edit.toPlainText()
1125 | id_info = id_num.split()
1126 |
1127 | d_num = int(self.ui.input_Edit_2.text())
1128 |
1129 | name = self.ui.download_tableWidget.item(d_num-1,0).text()
1130 | sing_name = self.ui.download_tableWidget.item(d_num-1,1).text()
1131 |
1132 | song_id = id_info[d_num - 1]
1133 | song_url = f"http://music.163.com/song/media/outer/url?id={song_id}.mp3"
1134 |
1135 | os.makedirs("Music",exist_ok=True)
1136 | Music_Funciton.music_download(song_url,name,sing_name)
1137 |
1138 | self.ui.show_label.setText('下载成功!')
1139 | time.sleep(1)
1140 | self.ui.show_label.setText('')
1141 |
1142 |
1143 | def download_music(self,source):#音乐下载
1144 |
1145 | id_num = self.ui.id_Edit.toPlainText()
1146 | id_info = id_num.split()
1147 |
1148 | d_num = int(self.ui.input_Edit_2.text())
1149 |
1150 | name = self.ui.download_tableWidget.item(d_num-1,0).text()
1151 | sing_name = self.ui.download_tableWidget.item(d_num - 1, 1).text()
1152 |
1153 | song_id = id_info[d_num - 1]
1154 |
1155 | url = "https://api.zhuolin.wang/api.php?callback=jQuery111305940605786929793_1588688866522&types=playlist&id=112504&_=1588688866523"
1156 | data = {
1157 | 'types': 'url',
1158 | 'id': f'{song_id}',
1159 | 'source': f'{source}'
1160 | }
1161 | headers = {
1162 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
1163 | }
1164 |
1165 | try:
1166 | rsp = requests.post(url, data=data, headers=headers)
1167 | if source == 'tencent':
1168 | link = rsp.text[rsp.text.index('http'):rsp.text.index('",')]
1169 | link = link.replace('\\', '')
1170 | elif source == 'kugou':
1171 | link = rsp.text[rsp.text.index('http'):rsp.text.index('mp3')] + 'mp3'
1172 | link = link.replace('\\', '')
1173 | except:
1174 | self.ui.show_label.setText('音乐文件丢失!')
1175 |
1176 |
1177 | try:
1178 | os.makedirs("Music", exist_ok=True)
1179 | Music_Funciton.music_download(link, name, sing_name)
1180 | self.ui.show_label.setText('下载完成!')
1181 | except Exception:
1182 | self.ui.show_label.setText('这首难搞哦!')
1183 |
1184 | if __name__ == '__main__':
1185 | app = QApplication(sys.argv)
1186 | app.setWindowIcon(QIcon(f'{os.getcwd()}/Image/song.png'))
1187 | music_dowload = Music_Dowload()
1188 | music_dowload.ui.show()
1189 | sys.exit(app.exec_())
--------------------------------------------------------------------------------
/Music_Funciton.py:
--------------------------------------------------------------------------------
1 | import json
2 | import requests
3 | import random
4 | from pyquery import PyQuery as pq
5 | import re
6 |
7 | # 发送请求时的头文件
8 | heades = [
9 | {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"},
10 | {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"},
11 | {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0"},
12 | {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36"}
13 | ]
14 |
15 | def music_download(song_url,name,sing_name=None):
16 | response = requests.get(song_url, headers=heades[random.randint(0, len(heades)-1)])
17 | if sing_name == None:
18 | with open("Music" + '/' + f"{name}.mp3", 'wb') as f:
19 | f.write(response.content)
20 | else:
21 | with open("Music" + '/' + f"{name}-{sing_name}.mp3", 'wb') as f:
22 | f.write(response.content)
23 |
24 |
25 | def music_home_top(url): # 网易云音乐排行榜首页显示
26 |
27 | try:
28 | headers = {
29 | 'authority': 'music.163.com',
30 | 'upgrade-insecure-requests': '1',
31 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36',
32 | 'sec-fetch-dest': 'iframe',
33 | 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
34 | 'sec-fetch-site': 'same-origin',
35 | 'sec-fetch-mode': 'navigate',
36 | 'referer': 'https://music.163.com/',
37 | 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
38 | 'cookie': '_ga=GA1.2.1412864897.1553836840; _iuqxldmzr_=32; _ntes_nnid=b757609ed6b0fea92825e343fb9dfd21,1568216071410; _ntes_nuid=b757609ed6b0fea92825e343fb9dfd21; WM_TID=Pg3EkygrDw1EBAVUVRIttkwA^%^2Bn1s1Vww; P_INFO=183605463^@qq.com^|1581593068^|0^|nmtp^|00^&99^|null^&null^&null^#not_found^&null^#10^#0^|^&0^|^|183605463^@qq.com; mail_psc_fingerprint=d87488b559a786de4942ad31e080b75f; __root_domain_v=.163.com; _qddaz=QD.n0p8sb.xdhbv8.k75rl6g4; __oc_uuid=2f4eb790-6da9-11ea-9922-b14d70d91022; hb_MA-BFF5-63705950A31C_source=blog.csdn.net; UM_distinctid=171142b7a6d3ba-0fbb0bf9a78375-4313f6a-144000-171142b7a6e30b; vinfo_n_f_l_n3=6d6e1214849bb357.1.0.1585181322988.0.1585181330388; JSESSIONID-WYYY=jJutWzFVWmDWzmt2vzgf6t5RgAaMOhSIKddpHG9mTIhK8fWqZndgocpo87cjYkMxKIlF^%^2BPjV^%^2F2NPykYHKUnMHkHRuErCNerHW6DtnD8HB09idBvHCJznNJRniCQ9XEl^%^2F7^%^2Bovbwgy7ihPO3oJIhM8s861d^%^2FNvyRTMDjVtCy^%^5CasJPKrAty^%^3A1585279750488; WM_NI=SnWfgd^%^2F5h0XFsqXxWEMl0vNVE8ZjZCzrxK^%^2F9A85boR^%^2BpV^%^2BA9J27jZCEbCqViaXw6If1Ecm7okWiL^%^2BKU2G8frpRB^%^2BRRDpz8RNJnagZdXn6KNVBHwK2tnvUL^%^2BxWQ^%^2BhGf2aeWE^%^3D; WM_NIKE=9ca17ae2e6ffcda170e2e6ee84b64f86878d87f04fe9bc8fa3c84f878f9eafb65ab59498cccf48f7929fb5e72af0fea7c3b92a91b29987e670edeba8d1db4eb1af9899d64f8fb40097cd5e87e8968bd949baaeb8acae3383e8fb83ee5ae9b09accc4338aeef98bd94987be8d92d563a388b9d7cc6ef39bad8eb665a989a7adaa4197ee89d9e57ab48e8eccd15a88b0b6d9d1468ab2af88d9709cb2faaccd5e8298b9acb180aeaa9badaa74958fe589c66ef2bfabb8c837e2a3; playerid=67583529',
39 | }
40 |
41 | res = requests.get(url, headers=headers)
42 | res.encoding = res.apparent_encoding
43 | res.raise_for_status()
44 | except:
45 | pass
46 |
47 | text = res.text
48 | all = re.findall(r'', text, re.I)
49 | str = all[0]
50 | strlist = re.findall(r'">(.*?)', str)
51 | idlist = re.findall(r'id=(\d+)', str)
52 |
53 | info = []
54 | info.append(strlist)
55 | info.append(idlist)
56 | return info
57 |
58 | def home_play_music(song_id,source):#腾讯酷狗音乐播放地址
59 |
60 | url = "https://api.zhuolin.wang/api.php?callback=jQuery111305940605786929793_1588688866522&types=playlist&id=112504&_=1588688866523"
61 | data = {
62 | 'types': 'url',
63 | 'id': f'{song_id}',
64 | 'source': f'{source}'
65 | }
66 | headers = {
67 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
68 | }
69 |
70 | rsp = requests.post(url, data=data, headers=headers)
71 | if source == 'tencent':
72 | link = rsp.text[rsp.text.index('http'):rsp.text.index('",')]
73 | link = link.replace('\\', '')
74 | elif source == 'kugou':
75 | link = rsp.text[rsp.text.index('http'):rsp.text.index('mp3')] + 'mp3'
76 | link = link.replace('\\', '')
77 | return link
78 |
79 | def home_show_music(type,name):#音乐首页显示
80 | url = 'https://api.zhuolin.wang/api.php?callback=jQuery111303334237052043867_1589428664685&types=playlist&id=3778678&_=1589428664686'
81 | data = {
82 | 'types': 'search',
83 | 'count': '20',
84 | 'source': type,
85 | 'pages': '1',
86 | 'name': name
87 | }
88 |
89 | headers = {
90 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
91 | }
92 |
93 | list_info = musicSpider(url, data, headers)
94 | return list_info
95 |
96 | def musicSpider(url, data, headers):#音乐爬取
97 |
98 | rsp = requests.post(url, data=data, headers=headers)
99 | content = rsp.text
100 | info = content[content.index('('):content.index('])')] + '])'
101 |
102 | info_list = eval(info[1:-1])
103 |
104 | music_info_list = []
105 | for i in info_list:
106 | id = i.get('id')
107 | name = i.get('name')
108 | artist = i.get('artist')
109 | album = i.get('album')
110 | info_info = []
111 | info_info.append(id)
112 | info_info.append(name.replace(' ', ''))
113 | info_info.append(artist[0])
114 | info_info.append(album.replace(' ', ''))
115 | music_info_list.append(info_info)
116 | return music_info_list
117 |
118 |
119 |
120 | # 获取首页,反回图片、名字、id号
121 | def wyy_first_page(type):
122 | # 先对首页进行简单处理
123 | url = f"https://music.163.com/discover/playlist/?cat={type}"
124 | response = requests.get(url, headers=heades[random.randint(0, len(heades)-1)])
125 | doc = pq(response.text)
126 | playlist = doc('li .u-cover.u-cover-1') # 筛选出首页推荐的歌单
127 | playlist.find('.icon-play').remove() # 移除多余的信息,便于后续提取信息
128 | playlist.find('div:contains(getPlayCount)').siblings().remove()
129 | playlist.find('div:contains(getPlayCount)').remove()
130 |
131 | # 获取首页推荐的歌单图片的url
132 | img = playlist.find('img').items()
133 | img_url_l = [i.attr('src') for i in img] # 获取到所有歌单封面的url
134 |
135 | # 获取推荐歌单的名字
136 | name_list_l = [i.attr.title for i in playlist.find('a').items()]
137 |
138 | # 获取歌单的键值id
139 | id_list_l = [i.attr.href for i in playlist.find('a').items()]
140 | return [img_url_l, name_list_l, id_list_l]
141 |
142 |
143 | def askURL(url):
144 | haed = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"}
145 | request = requests.get(url,headers=haed)
146 |
147 | try:
148 | response = request.text
149 | html_dict = json.loads(response)
150 |
151 | except :
152 | pass
153 | return html_dict
154 |
155 | # 通过歌单playlist_id获取歌单信息
156 | def playlist_info(playlist_id):
157 |
158 | #playlist_id = int(re.sub(r'\D', "",playlist_id))
159 | # html = askURL(f"http://api.no0a.cn/api/cloudmusic/playlist/{playlist_id}")
160 | html = askURL(f"http://api.sunyj.xyz?site=netease&playlist={playlist_id}")
161 | # print(html)
162 | song_name_l = []
163 | song_id_l = []
164 | for i in html:
165 | song_name_l.append(i['name'])
166 | song_id_l.append(i['id'])
167 | return [song_name_l, song_id_l]
168 |
169 |
170 | # 通过指定的歌曲song_id获取歌曲的音频二进制文件
171 | def song_url(song_id):
172 | # 通过urls获取歌曲下载链接
173 | urls = f"http://music.163.com/song/media/outer/url?id={song_id}.mp3"
174 | return urls
175 |
176 | def test(id):
177 | html = askURL(f"https://music.163.com/api/playlist/detail?id={id}")
178 |
179 | info_dict = html['result']['tracks']
180 | print(info_dict)
181 |
182 | if __name__ == '__main__':
183 | pass
184 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Music_Download
2 | 由于上传Github时,不支持上传中文命名的文件
3 | 本项目所需要的图片文件请到下面的网址下载,给您造成了不便,十分抱歉
4 |
5 | https://wwx.lanzoux.com/b01boa0eb
6 |
7 | 软件使用说明:
8 | https://syjun.vip/archives/start.html
9 |
10 | 个人博客:https://www.syjun.vip
11 |
12 |
13 | # 写在前面 #
14 |
15 | 1. 本软件所有功能均由Python实现
16 | 2. 本软件由本人原创,所用的图标来自iconfont.cn
17 | 3. 本软件仅供大家参考与学习,请支持正版音乐!
18 |
19 | 软件下载:https://wwx.lanzoux.com/b01boa0eb
20 | 源码分享:https://github.com/Java-S12138/Music_Dowload
21 | 吾爱破解论坛:https://www.52pojie.cn/thread-1181916-1-1.html
22 |
23 | ## 支持功能 ##
24 |
25 | 1. 网易云,QQ音乐,酷狗音乐在线播放和下载
26 | 2. 首页显示支持网易云16种歌单
27 | 3. 首页支持查看网易云26种排行榜中的所有歌曲
28 | 4. 支持通过网易云歌单、专辑ID,获取当中的音乐;支持一键下载当中的所有音乐
29 | 5. 支持查看网易云每一首音乐的评论,支持将评论写入Excel
30 | 6. 支持查看网易云每一首音乐的歌词,可显示带时间段的和不带时间段的歌词
31 |
32 |
33 | ----------
34 | ### 如何使用 ###
35 |
36 | #### 1:网易云,QQ音乐,酷狗音乐在线播放和下载 ####
37 | ![图1][1]
38 | 看到那个熟悉的输入框了吗?在里面输入你想搜索的音乐
39 | 点击旁边的按钮,你就可以获取到相同关键字的20首音乐(音乐平台按钮分别是:网易云音乐、QQ音乐、酷狗音乐)
40 |
41 | >(1)如果你想播放,那么请双击输入框下面的音乐标题,你热爱的音乐就开始播放啦
42 | >(2)如果你想下载,那么请点击下面的那朵云朵,你想要的音乐就跑到你的电脑磁盘上来啦
43 | >(3)如果你想拖动进度条,调整播放进度,当然也是可以的
44 | >(4)如果你想改变循环播放的方式,当然也是可以的(循环播放,单曲循环,随机播放)
45 | >(5)如果你想调整音量的大小,当然也是可以的,还会有细节的动画哦,期待你去发现
46 |
47 | #### 2:网易云歌单显示以及播放其中的音乐 ####
48 | ![图2][2]
49 | 相信你的目光,早已注意到了【网易云歌单】的菜单栏
50 | 点击它你就可以选择多种类型的音乐歌单,就像在网易云官网一样
51 | ![图3][3]
52 | 点击图标下方的标题,歌单里面的音乐就会跑到输入框下面的框框里面 ::aru:proud::
53 |
54 | #### 3:网易云排行榜显示以及播放其中的音乐 ####
55 | ![图4][4]
56 | 和上面的功能操作方式一样,我相信你可以举一反三
57 |
58 | #### 4:下载正在播放的音乐 ####
59 | 如果你想下载你正在播放的音乐,那么你可以点击下面的那朵熟悉的下载云
60 | 稍微等待一小会,软件上出现蓝色字体的 【下载成功!】就说明这首音乐已经跑到你的电脑磁盘啦
61 | 点击下载云旁边的文件夹,就可以打开音乐存放的文件夹
62 | ![图5][5]
63 |
64 | #### 5:音乐下载(无试听) ####
65 | 在搜索框里面输入你想查找的音乐,点击下面对应的音乐平台按钮
66 | 咻~~~ 速度很快,旁边的表格,显示了相关的音乐
67 | 找到对应的音乐序号,在下面的输入框里面,输入序号
68 | 点击那朵下载云,音乐就跑到你的电脑里面啦,点击旁边的文件夹,可以查看下载到的音乐
69 | 音频文件是MP3,比特率:128的kbps 音质还不错,暂时不支持无损音乐
70 | ![图6][6]
71 | ![图7][7]
72 |
73 | #### 6:通过网易云的歌单ID,获取歌单里面的所有音乐,进行下载和批量下载的操作 ####
74 | >那么,我们如何知道歌单的ID呢?
75 | >不慌,我们先来到网易云音乐的官网看看
76 | ![图8][8]
77 | >我们将地址栏里面的ID复制下来,输入到软件里面
78 | ![图9][9]
79 | 接着点击输入框旁边的第一个按钮(第一个是歌单按钮,第二个是专辑按钮),歌单里面的音乐就展示到了你的眼前
80 | 下载某首音乐的操作方法,参照上面的操作
81 | 如果你想下载,歌单里面所有的音乐
82 | 那么就点击进度条旁边的按钮(没错就是那个黄色的圆圈圈)
83 | 进度条会显示当前的进度,显示100%,那么恭喜你,歌单里面的音乐都下载完啦
84 | 网易云里面的专辑也是有独一无二的ID,如何操作专辑功能,我相信你可以举一反三
85 |
86 | #### 7:查看网易云的26种排行榜,进行下载和批量下载的操作 ####
87 | 首先,我们到网易云音乐的网站看一看
88 | ![图10][10]
89 | 再到软件里面,选择需要查看的排行榜
90 | ![图11][11]
91 | 是不是,Amazing呢
92 | 下载和批量下载,我相信你也可以举一反三
93 |
94 | #### 8:查看网易云里面的评论,支持自动化写入excel ####
95 | 首先,我们到第一个音乐下载的界面,搜索你想查看评论的音乐
96 | ![图12][12]
97 | 获取到序号后,再评论界面输入框里面,输入对应的序号,点击下方的评论按钮
98 | 15条热评和400条最新评论就展示在了你的眼前
99 | ![图13][13]
100 | 如果你觉得不够看,或者这样看不方便的话
101 | 你可以点击下方的按钮,生成excel(第二个按钮)
102 | 会生成15条热评和1000条最新评论的excel文件
103 | 点击打开excel,即可查看(当然这首音乐,要有那么多评论)
104 | ![图14][14]
105 |
106 | #### 9:查看歌词,支持不带时间段和带时间段的歌词显示 ####
107 | 使用方法和上面的类似,也是先获取你想查看音乐的序号,再点击对应的按钮,我相信你可以举一反三 ::aru:pouting::
108 | 点击蓝色的按钮,即可显示不带时间段的歌词
109 | ![图15][15]
110 | 红色按钮,反之
111 | ![图16][16]
112 |
113 | #### 10:更换顶部图片 ####
114 | 我知道,大家看一张图片容易审美疲劳
115 | 所有就增加换肤的功能
116 | 给大家准备了五张图片,欢迎大家去体验
117 | ![图17][17]
118 | 看到这个绿色的叶子图标了吗,点它就可以换肤啦
119 |
120 | ## 写在后面 ##
121 | [Music_Download]是我疫情期间写用Python独自完成的第一款软件......
122 |
123 | [1]: https://attach.52pojie.cn/forum/202005/30/195106ajvuqkp6qeqeltpe.jpg
124 | [2]: https://attach.52pojie.cn/forum/202005/30/195122iblh2kez65f56k9d.png
125 | [3]: https://attach.52pojie.cn/forum/202005/30/195201ezzfzz0a74fznaly.png
126 | [4]: https://attach.52pojie.cn/forum/202005/30/195213ds8r1mm2192s89e8.png
127 | [5]: https://attach.52pojie.cn/forum/202005/30/195233utan2zagogvo3k34.png
128 | [6]: https://attach.52pojie.cn/forum/202005/19/152027bem2jmvm7vm3e0qm.png
129 | [7]: https://attach.52pojie.cn/forum/202005/19/152024c77n4hfnm78mgnps.jpg
130 | [8]: https://attach.52pojie.cn/forum/202005/19/152103udpp2pcdno52dr2s.png
131 | [9]: https://attach.52pojie.cn/forum/202005/19/152225zodbgbhhpimbhofi.png
132 | [10]: https://attach.52pojie.cn/forum/202005/19/152358uwb6cbyz997279by.png
133 | [11]: https://attach.52pojie.cn/forum/202005/19/152420fw3z03l6p6txc3pu.png
134 | [12]: https://attach.52pojie.cn/forum/202005/19/152607um0pjvswwwfp8v0v.png
135 | [13]: https://attach.52pojie.cn/forum/202005/19/152604j7zkx31v11u8n14x.png
136 | [14]: https://attach.52pojie.cn/forum/202005/19/152609hfj56fkgooo9ztfo.png
137 | [15]: https://attach.52pojie.cn/forum/202005/19/152713cgbwz55wtal5g034.png
138 | [16]: https://attach.52pojie.cn/forum/202005/19/152711mr7mp8ddf5mzx5r0.png
139 | [17]: https://attach.52pojie.cn/forum/202005/30/195248bivmpj7beeap5gsp.png
140 |
--------------------------------------------------------------------------------
/dowload.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | Music_Download
4 |
5 |
6 | true
7 |
8 |
9 |
10 | 0
11 | 0
12 | 1250
13 | 800
14 |
15 |
16 |
17 |
18 | 1250
19 | 800
20 |
21 |
22 |
23 |
24 | 1250
25 | 800
26 |
27 |
28 |
29 | false
30 |
31 |
32 | Music_Download BY:Java_S
33 |
34 |
35 | false
36 |
37 |
38 |
39 |
40 | -9
41 | 200
42 | 1261
43 | 602
44 |
45 |
46 |
47 |
48 | 思源黑体 CN Bold
49 | 12
50 | 75
51 | false
52 | true
53 | false
54 | false
55 |
56 |
57 |
58 | 0
59 |
60 |
61 |
62 | 20
63 | 20
64 |
65 |
66 |
67 |
68 | Music
69 |
70 |
71 |
72 |
73 | 630
74 | 70
75 | 611
76 | 501
77 |
78 |
79 |
80 | -
81 |
82 |
83 |
84 | 140
85 | 60
86 |
87 |
88 |
89 |
90 | 思源黑体 CN Bold
91 | 75
92 | true
93 |
94 |
95 |
96 | 单击
97 |
98 |
99 | color: rgb(69, 137, 148);
100 |
101 |
102 |
103 |
104 |
105 | true
106 |
107 |
108 |
109 | -
110 |
111 |
112 |
113 | 140
114 | 140
115 |
116 |
117 |
118 | 点击下方标题
119 |
120 |
121 |
122 |
123 |
124 | true
125 |
126 |
127 |
128 | -
129 |
130 |
131 |
132 | 140
133 | 140
134 |
135 |
136 |
137 | 点击下方标题
138 |
139 |
140 |
141 |
142 |
143 | true
144 |
145 |
146 |
147 | -
148 |
149 |
150 |
151 | 140
152 | 140
153 |
154 |
155 |
156 | 点击下方标题
157 |
158 |
159 |
160 |
161 |
162 | true
163 |
164 |
165 |
166 | -
167 |
168 |
169 |
170 | 140
171 | 60
172 |
173 |
174 |
175 |
176 | 思源黑体 CN Bold
177 | 75
178 | true
179 |
180 |
181 |
182 | 单击
183 |
184 |
185 | color: rgb(69, 137, 148);
186 |
187 |
188 |
189 |
190 |
191 | true
192 |
193 |
194 |
195 | -
196 |
197 |
198 |
199 | 140
200 | 140
201 |
202 |
203 |
204 | 点击下方标题
205 |
206 |
207 |
208 |
209 |
210 | true
211 |
212 |
213 |
214 | -
215 |
216 |
217 | true
218 |
219 |
220 |
221 | 140
222 | 140
223 |
224 |
225 |
226 | 点击下方标题
227 |
228 |
229 |
230 |
231 |
232 | true
233 |
234 |
235 |
236 | -
237 |
238 |
239 |
240 | 140
241 | 60
242 |
243 |
244 |
245 |
246 | 思源黑体 CN Bold
247 | 9
248 | 75
249 | true
250 |
251 |
252 |
253 | 单击
254 |
255 |
256 | -1
257 |
258 |
259 | color: rgb(69, 137, 148);
260 |
261 |
262 |
263 |
264 |
265 | true
266 |
267 |
268 |
269 | -
270 |
271 |
272 |
273 | 140
274 | 140
275 |
276 |
277 |
278 | 点击下方标题
279 |
280 |
281 |
282 |
283 |
284 | true
285 |
286 |
287 |
288 | -
289 |
290 |
291 |
292 | 140
293 | 60
294 |
295 |
296 |
297 |
298 | 思源黑体 CN Bold
299 | 75
300 | true
301 |
302 |
303 |
304 | 单击
305 |
306 |
307 | color: rgb(69, 137, 148);
308 |
309 |
310 |
311 |
312 |
313 | true
314 |
315 |
316 |
317 | -
318 |
319 |
320 |
321 | 140
322 | 140
323 |
324 |
325 |
326 | 点击下方标题
327 |
328 |
329 |
330 |
331 |
332 | true
333 |
334 |
335 |
336 | -
337 |
338 |
339 |
340 | 140
341 | 60
342 |
343 |
344 |
345 |
346 | 思源黑体 CN Bold
347 | 9
348 | 75
349 | true
350 |
351 |
352 |
353 | 单击
354 |
355 |
356 | color: rgb(69, 137, 148);
357 |
358 |
359 |
360 |
361 |
362 | true
363 |
364 |
365 |
366 | -
367 |
368 |
369 |
370 | 140
371 | 60
372 |
373 |
374 |
375 |
376 | 思源黑体 CN Bold
377 | 75
378 | true
379 |
380 |
381 |
382 | 单击
383 |
384 |
385 | color: rgb(69, 137, 148);
386 |
387 |
388 |
389 |
390 |
391 | true
392 |
393 |
394 |
395 | -
396 |
397 |
398 |
399 | 140
400 | 60
401 |
402 |
403 |
404 |
405 | 思源黑体 CN Bold
406 | 75
407 | true
408 |
409 |
410 |
411 | 单击
412 |
413 |
414 | color: rgb(69, 137, 148);
415 |
416 |
417 |
418 |
419 |
420 | true
421 |
422 |
423 |
424 | -
425 |
426 |
427 |
428 | 140
429 | 140
430 |
431 |
432 |
433 | 点击下方标题
434 |
435 |
436 |
437 |
438 |
439 | true
440 |
441 |
442 |
443 | -
444 |
445 |
446 |
447 | 140
448 | 60
449 |
450 |
451 |
452 |
453 | 思源黑体 CN Bold
454 | 75
455 | true
456 |
457 |
458 |
459 | 单击
460 |
461 |
462 | color: rgb(69, 137, 148);
463 |
464 |
465 |
466 |
467 |
468 | true
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 | 40
478 | 30
479 | 40
480 | 40
481 |
482 |
483 |
484 | image: url(./Image/home_sousuo.png);
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 | 89
494 | 30
495 | 239
496 | 40
497 |
498 |
499 |
500 | true
501 |
502 |
503 | false
504 |
505 |
506 | false
507 |
508 |
509 | 输入歌曲名或歌手名
510 |
511 |
512 | false
513 |
514 |
515 |
516 |
517 |
518 | 362
519 | 25
520 | 64
521 | 51
522 |
523 |
524 |
525 |
526 | 微软雅黑
527 | 11
528 | 75
529 | false
530 | true
531 | false
532 | false
533 | true
534 |
535 |
536 |
537 | PointingHandCursor
538 |
539 |
540 | 网易云
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 | Image/wyy.pngImage/wyy.png
551 |
552 |
553 |
554 | 64
555 | 64
556 |
557 |
558 |
559 | false
560 |
561 |
562 | false
563 |
564 |
565 | false
566 |
567 |
568 | false
569 |
570 |
571 | true
572 |
573 |
574 |
575 |
576 |
577 | 89
578 | 90
579 | 331
580 | 351
581 |
582 |
583 |
584 |
585 | 思源黑体 CN Bold
586 | 10
587 | 75
588 | false
589 | true
590 | false
591 | false
592 |
593 |
594 |
595 |
596 |
597 |
598 | 172
599 | 500
600 | 48
601 | 48
602 |
603 |
604 |
605 |
606 | 48
607 | 48
608 |
609 |
610 |
611 |
612 | 48
613 | 48
614 |
615 |
616 |
617 | 上一首
618 |
619 |
620 |
621 |
622 |
623 |
624 | Image/上一首-01.pngImage/上一首-01.png
625 |
626 |
627 |
628 | 48
629 | 48
630 |
631 |
632 |
633 | true
634 |
635 |
636 |
637 |
638 |
639 | 232
640 | 500
641 | 48
642 | 48
643 |
644 |
645 |
646 |
647 | 48
648 | 48
649 |
650 |
651 |
652 |
653 | 48
654 | 48
655 |
656 |
657 |
658 | 播放/暂停
659 |
660 |
661 |
662 |
663 |
664 |
665 | Image/播放-01.pngImage/播放-01.png
666 |
667 |
668 |
669 | 48
670 | 48
671 |
672 |
673 |
674 | true
675 |
676 |
677 |
678 |
679 |
680 | 292
681 | 500
682 | 48
683 | 48
684 |
685 |
686 |
687 |
688 | 48
689 | 48
690 |
691 |
692 |
693 |
694 | 48
695 | 48
696 |
697 |
698 |
699 | 下一首
700 |
701 |
702 |
703 |
704 |
705 |
706 | Image/下一首-01.pngImage/下一首-01.png
707 |
708 |
709 |
710 | 48
711 | 48
712 |
713 |
714 |
715 | true
716 |
717 |
718 |
719 |
720 |
721 | 40
722 | 454
723 | 40
724 | 40
725 |
726 |
727 |
728 | image: url(./Image/home_music.png);
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 | 90
738 | 450
739 | 40
740 | 49
741 |
742 |
743 |
744 |
745 | 思源黑体 CN Bold
746 | 9
747 | 75
748 | false
749 | true
750 | false
751 | false
752 |
753 |
754 |
755 | 00:00
756 |
757 |
758 |
759 |
760 |
761 | 150
762 | 464
763 | 210
764 | 20
765 |
766 |
767 |
768 | true
769 |
770 |
771 | Qt::Horizontal
772 |
773 |
774 | false
775 |
776 |
777 | false
778 |
779 |
780 | QSlider::NoTicks
781 |
782 |
783 | 0
784 |
785 |
786 |
787 |
788 |
789 | 380
790 | 450
791 | 40
792 | 51
793 |
794 |
795 |
796 |
797 | 思源黑体 CN Bold
798 | 9
799 | 75
800 | false
801 | true
802 | false
803 | false
804 |
805 |
806 |
807 | 00:00
808 |
809 |
810 |
811 |
812 |
813 | 587
814 | 459
815 | 30
816 | 30
817 |
818 |
819 |
820 |
821 |
822 |
823 | Image/horn.png
824 |
825 |
826 |
827 |
828 |
829 | 480
830 | 464
831 | 96
832 | 20
833 |
834 |
835 |
836 | 0
837 |
838 |
839 | 50
840 |
841 |
842 | Qt::Horizontal
843 |
844 |
845 | QSlider::NoTicks
846 |
847 |
848 | 0
849 |
850 |
851 |
852 |
853 |
854 | 426
855 | 500
856 | 50
857 | 50
858 |
859 |
860 |
861 |
862 | 微软雅黑
863 | 10
864 | 75
865 | false
866 | true
867 | false
868 | false
869 | true
870 |
871 |
872 |
873 | PointingHandCursor
874 |
875 |
876 | 下载音乐
877 |
878 |
879 |
880 |
881 |
882 |
883 | Image/dowload.pngImage/dowload.png
884 |
885 |
886 |
887 | 50
888 | 50
889 |
890 |
891 |
892 | true
893 |
894 |
895 |
896 |
897 |
898 | 502
899 | 500
900 | 52
901 | 52
902 |
903 |
904 |
905 |
906 | 微软雅黑
907 | 10
908 | 75
909 | false
910 | true
911 | false
912 | false
913 | true
914 |
915 |
916 |
917 | OpenHandCursor
918 |
919 |
920 | 打开文件夹
921 |
922 |
923 |
924 |
925 |
926 |
927 | Image/file.pngImage/file.png
928 |
929 |
930 |
931 | 52
932 | 52
933 |
934 |
935 |
936 | true
937 |
938 |
939 |
940 |
941 |
942 | 43
943 | 514
944 | 110
945 | 21
946 |
947 |
948 |
949 |
950 | 思源黑体 CN Bold
951 | 10
952 |
953 |
954 |
955 | color: rgb(8, 169, 255);
956 |
957 |
958 |
959 |
960 |
961 |
962 |
963 |
964 | 437
965 | 460
966 | 30
967 | 30
968 |
969 |
970 |
971 |
972 | 30
973 | 30
974 |
975 |
976 |
977 |
978 | 30
979 | 30
980 |
981 |
982 |
983 | 列表循环
984 |
985 |
986 |
987 |
988 |
989 |
990 | Image/列表循环.pngImage/列表循环.png
991 |
992 |
993 |
994 | 30
995 | 30
996 |
997 |
998 |
999 | true
1000 |
1001 |
1002 |
1003 |
1004 |
1005 | 636
1006 | 34
1007 | 140
1008 | 31
1009 |
1010 |
1011 |
1012 |
1013 | 思源黑体 CN Bold
1014 | 11
1015 | 75
1016 | false
1017 | true
1018 | false
1019 | false
1020 |
1021 |
1022 |
1023 | true
1024 |
1025 |
1026 | false
1027 |
1028 |
1029 | true
1030 |
1031 | -
1032 |
1033 | 网易云歌单
1034 |
1035 |
1036 | -
1037 |
1038 | 华语
1039 |
1040 |
1041 | -
1042 |
1043 | 欧美
1044 |
1045 |
1046 | -
1047 |
1048 | 日语
1049 |
1050 |
1051 | -
1052 |
1053 | 韩语
1054 |
1055 |
1056 | -
1057 |
1058 | 粤语
1059 |
1060 |
1061 | -
1062 |
1063 | 说唱
1064 |
1065 |
1066 | -
1067 |
1068 | 流行
1069 |
1070 |
1071 | -
1072 |
1073 | 民谣
1074 |
1075 |
1076 | -
1077 |
1078 | 爵士
1079 |
1080 |
1081 | -
1082 |
1083 | 乡村
1084 |
1085 |
1086 | -
1087 |
1088 | 古典
1089 |
1090 |
1091 | -
1092 |
1093 | 古风
1094 |
1095 |
1096 | -
1097 |
1098 | 清晨
1099 |
1100 |
1101 | -
1102 |
1103 | 夜晚
1104 |
1105 |
1106 | -
1107 |
1108 | 学习
1109 |
1110 |
1111 | -
1112 |
1113 | 工作
1114 |
1115 |
1116 |
1117 |
1118 |
1119 |
1120 | 450
1121 | 25
1122 | 64
1123 | 51
1124 |
1125 |
1126 |
1127 |
1128 | 微软雅黑
1129 | 11
1130 | 75
1131 | false
1132 | true
1133 | false
1134 | false
1135 | true
1136 |
1137 |
1138 |
1139 | PointingHandCursor
1140 |
1141 |
1142 | QQ音乐
1143 |
1144 |
1145 |
1146 |
1147 |
1148 |
1149 |
1150 |
1151 |
1152 | Image/qqmusic.pngImage/qqmusic.png
1153 |
1154 |
1155 |
1156 | 64
1157 | 64
1158 |
1159 |
1160 |
1161 | true
1162 |
1163 |
1164 |
1165 |
1166 |
1167 | 535
1168 | 25
1169 | 71
1170 | 51
1171 |
1172 |
1173 |
1174 |
1175 | 微软雅黑
1176 | 11
1177 | 75
1178 | false
1179 | true
1180 | false
1181 | false
1182 | true
1183 |
1184 |
1185 |
1186 | PointingHandCursor
1187 |
1188 |
1189 | 酷狗音乐
1190 |
1191 |
1192 |
1193 |
1194 |
1195 |
1196 |
1197 |
1198 |
1199 | Image/kmusic.pngImage/kmusic.png
1200 |
1201 |
1202 |
1203 | 52
1204 | 52
1205 |
1206 |
1207 |
1208 | true
1209 |
1210 |
1211 |
1212 |
1213 |
1214 | 170
1215 | 150
1216 | 104
1217 | 78
1218 |
1219 |
1220 |
1221 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
1222 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
1223 | p, li { white-space: pre-wrap; }
1224 | </style></head><body style=" font-family:'思源黑体 CN Bold'; font-size:12pt; font-weight:600; font-style:normal;">
1225 | <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"><br /></p></body></html>
1226 |
1227 |
1228 |
1229 |
1230 |
1231 | 941
1232 | 34
1233 | 295
1234 | 31
1235 |
1236 |
1237 |
1238 |
1239 | 思源黑体 CN Bold
1240 | 11
1241 | 75
1242 | false
1243 | true
1244 | false
1245 | false
1246 |
1247 |
1248 |
1249 | true
1250 |
1251 |
1252 | false
1253 |
1254 |
1255 | true
1256 |
1257 | -
1258 |
1259 | 网易云排行榜
1260 |
1261 |
1262 | -
1263 |
1264 | 云音乐飙升榜
1265 |
1266 |
1267 | -
1268 |
1269 | 云音乐新歌榜
1270 |
1271 |
1272 | -
1273 |
1274 | 网易原创歌曲榜
1275 |
1276 |
1277 | -
1278 |
1279 | 云音乐热歌榜
1280 |
1281 |
1282 | -
1283 |
1284 | 云音乐说唱榜
1285 |
1286 |
1287 | -
1288 |
1289 | 云音乐古典音乐榜
1290 |
1291 |
1292 | -
1293 |
1294 | 云音乐电音榜
1295 |
1296 |
1297 | -
1298 |
1299 | 抖音排行榜
1300 |
1301 |
1302 | -
1303 |
1304 | 新声榜
1305 |
1306 |
1307 | -
1308 |
1309 | 云音乐ACG音乐榜
1310 |
1311 |
1312 | -
1313 |
1314 | 云音乐韩语榜
1315 |
1316 |
1317 | -
1318 |
1319 | 云音乐国电榜
1320 |
1321 |
1322 | -
1323 |
1324 | 英国Q杂志中文版周榜
1325 |
1326 |
1327 | -
1328 |
1329 | 电竞音乐榜
1330 |
1331 |
1332 | -
1333 |
1334 | UK排行榜周榜
1335 |
1336 |
1337 | -
1338 |
1339 | 美国Billboard周榜
1340 |
1341 |
1342 | -
1343 |
1344 | Beatport全球电子舞曲榜
1345 |
1346 |
1347 | -
1348 |
1349 | KTV唛榜
1350 |
1351 |
1352 | -
1353 |
1354 | iTunes榜
1355 |
1356 |
1357 | -
1358 |
1359 | 日本Oricon周榜
1360 |
1361 |
1362 | -
1363 |
1364 | Hit FM Top榜
1365 |
1366 |
1367 | -
1368 |
1369 | 台湾Hito排行榜
1370 |
1371 |
1372 | -
1373 |
1374 | 云音乐欧美热歌榜
1375 |
1376 |
1377 | -
1378 |
1379 | 云音乐欧美新歌榜
1380 |
1381 |
1382 | -
1383 |
1384 | 法国 NRJ Vos Hits 周榜
1385 |
1386 |
1387 | -
1388 |
1389 | 中国新乡村音乐排行榜
1390 |
1391 |
1392 |
1393 |
1394 |
1395 |
1396 | 830
1397 | 530
1398 | 281
1399 | 40
1400 |
1401 |
1402 |
1403 |
1404 | 微软雅黑
1405 | 12
1406 | 75
1407 | false
1408 | true
1409 | false
1410 | false
1411 | true
1412 |
1413 |
1414 |
1415 |
1416 |
1417 |
1418 |
1419 |
1420 |
1421 | 636
1422 | 0
1423 | 140
1424 | 31
1425 |
1426 |
1427 |
1428 |
1429 | 思源黑体 CN Bold
1430 | 11
1431 | 75
1432 | false
1433 | true
1434 | false
1435 | false
1436 | true
1437 |
1438 |
1439 |
1440 | color: rgb(1, 175, 255);
1441 |
1442 |
1443 |
1444 |
1445 |
1446 |
1447 |
1448 |
1449 | 898
1450 | 33
1451 | 32
1452 | 32
1453 |
1454 |
1455 |
1456 |
1457 | 30
1458 | 30
1459 |
1460 |
1461 |
1462 |
1463 | 48
1464 | 48
1465 |
1466 |
1467 |
1468 | 下一首
1469 |
1470 |
1471 |
1472 |
1473 |
1474 |
1475 | Image/Next.pngImage/Next.png
1476 |
1477 |
1478 |
1479 | 30
1480 | 30
1481 |
1482 |
1483 |
1484 | true
1485 |
1486 |
1487 |
1488 |
1489 |
1490 | 788
1491 | 33
1492 | 32
1493 | 32
1494 |
1495 |
1496 |
1497 |
1498 | 30
1499 | 30
1500 |
1501 |
1502 |
1503 |
1504 | 48
1505 | 48
1506 |
1507 |
1508 |
1509 | 上一首
1510 |
1511 |
1512 |
1513 |
1514 |
1515 |
1516 | Image/Previous.pngImage/Previous.png
1517 |
1518 |
1519 |
1520 | 30
1521 | 30
1522 |
1523 |
1524 |
1525 | true
1526 |
1527 |
1528 |
1529 |
1530 |
1531 | 845
1532 | 39
1533 | 31
1534 | 21
1535 |
1536 |
1537 |
1538 |
1539 | 思源黑体 CN Bold
1540 | 11
1541 | 75
1542 | false
1543 | true
1544 | false
1545 | false
1546 | true
1547 |
1548 |
1549 |
1550 | color: rgb(1, 175, 255);
1551 |
1552 |
1553 |
1554 |
1555 |
1556 | home_id_Edit
1557 | gridLayoutWidget
1558 | label_15
1559 | home_input_Edit
1560 | home_Button_net
1561 | home_listWidget
1562 | music_pre
1563 | music_start_stop
1564 | music_next
1565 | home_m
1566 | time_pre_2
1567 | time_line
1568 | time_pre_3
1569 | volume
1570 | volume_line
1571 | home_download_Button
1572 | open_Button_4
1573 | home_music_name_label
1574 | song_modle
1575 | home_comboBox
1576 | home_Button_qq
1577 | home_Button_ku
1578 | home_comboBox_2
1579 | music_list_label_2
1580 | hmoe_show_label
1581 | music_next_2
1582 | music_pre_2
1583 | hmoe_pages_label
1584 |
1585 |
1586 |
1587 |
1588 | 微软雅黑
1589 | 12
1590 | 75
1591 | false
1592 | true
1593 | false
1594 | false
1595 | true
1596 |
1597 |
1598 |
1599 | 音乐下载
1600 |
1601 |
1602 |
1603 |
1604 | 110
1605 | 30
1606 | 289
1607 | 40
1608 |
1609 |
1610 |
1611 |
1612 | 思源黑体 CN Bold
1613 | 12
1614 | 75
1615 | false
1616 | true
1617 | false
1618 | false
1619 | true
1620 |
1621 |
1622 |
1623 | true
1624 |
1625 |
1626 | false
1627 |
1628 |
1629 | false
1630 |
1631 |
1632 | 输入歌曲名或歌手名
1633 |
1634 |
1635 | false
1636 |
1637 |
1638 |
1639 |
1640 |
1641 | 106
1642 | 98
1643 | 64
1644 | 51
1645 |
1646 |
1647 |
1648 |
1649 | 微软雅黑
1650 | 11
1651 | 75
1652 | false
1653 | true
1654 | false
1655 | false
1656 | true
1657 |
1658 |
1659 |
1660 | PointingHandCursor
1661 |
1662 |
1663 | 网易云
1664 |
1665 |
1666 |
1667 |
1668 |
1669 |
1670 |
1671 |
1672 |
1673 | Image/wyy.pngImage/wyy.png
1674 |
1675 |
1676 |
1677 | 64
1678 | 64
1679 |
1680 |
1681 |
1682 | false
1683 |
1684 |
1685 | false
1686 |
1687 |
1688 | false
1689 |
1690 |
1691 | false
1692 |
1693 |
1694 | true
1695 |
1696 |
1697 |
1698 |
1699 |
1700 | 225
1701 | 98
1702 | 64
1703 | 51
1704 |
1705 |
1706 |
1707 |
1708 | 微软雅黑
1709 | 11
1710 | 75
1711 | false
1712 | true
1713 | false
1714 | false
1715 | true
1716 |
1717 |
1718 |
1719 | PointingHandCursor
1720 |
1721 |
1722 | QQ音乐
1723 |
1724 |
1725 |
1726 |
1727 |
1728 |
1729 |
1730 |
1731 |
1732 | Image/qqmusic.pngImage/qqmusic.png
1733 |
1734 |
1735 |
1736 | 64
1737 | 64
1738 |
1739 |
1740 |
1741 | true
1742 |
1743 |
1744 |
1745 |
1746 |
1747 | 110
1748 | 180
1749 | 271
1750 | 40
1751 |
1752 |
1753 |
1754 |
1755 | 微软雅黑
1756 | 12
1757 | 75
1758 | false
1759 | true
1760 | false
1761 | false
1762 | true
1763 |
1764 |
1765 |
1766 |
1767 |
1768 |
1769 |
1770 |
1771 |
1772 | 110
1773 | 240
1774 | 106
1775 | 40
1776 |
1777 |
1778 |
1779 |
1780 | 思源黑体 CN Bold
1781 | 10
1782 | 75
1783 | false
1784 | true
1785 | false
1786 | false
1787 | true
1788 |
1789 |
1790 |
1791 | true
1792 |
1793 |
1794 | 输入序号
1795 |
1796 |
1797 |
1798 |
1799 |
1800 | 232
1801 | 230
1802 | 50
1803 | 50
1804 |
1805 |
1806 |
1807 |
1808 | 微软雅黑
1809 | 10
1810 | 75
1811 | false
1812 | true
1813 | false
1814 | false
1815 | true
1816 |
1817 |
1818 |
1819 | PointingHandCursor
1820 |
1821 |
1822 | 下载音乐
1823 |
1824 |
1825 |
1826 |
1827 |
1828 |
1829 | Image/dowload.pngImage/dowload.png
1830 |
1831 |
1832 |
1833 | 50
1834 | 50
1835 |
1836 |
1837 |
1838 | true
1839 |
1840 |
1841 |
1842 |
1843 |
1844 | 350
1845 | 227
1846 | 52
1847 | 52
1848 |
1849 |
1850 |
1851 |
1852 | 微软雅黑
1853 | 10
1854 | 75
1855 | false
1856 | true
1857 | false
1858 | false
1859 | true
1860 |
1861 |
1862 |
1863 | OpenHandCursor
1864 |
1865 |
1866 | 打开文件夹
1867 |
1868 |
1869 |
1870 |
1871 |
1872 |
1873 | Image/file.pngImage/file.png
1874 |
1875 |
1876 |
1877 | 52
1878 | 52
1879 |
1880 |
1881 |
1882 | true
1883 |
1884 |
1885 |
1886 |
1887 |
1888 | 900
1889 | 340
1890 | 104
1891 | 78
1892 |
1893 |
1894 |
1895 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
1896 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
1897 | p, li { white-space: pre-wrap; }
1898 | </style></head><body style=" font-family:'微软雅黑','思源黑体 CN Bold'; font-size:12pt; font-weight:600; font-style:normal;">
1899 | <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'思源黑体 CN Bold'; font-size:10pt;"><br /></p></body></html>
1900 |
1901 |
1902 |
1903 |
1904 |
1905 | 60
1906 | 30
1907 | 40
1908 | 40
1909 |
1910 |
1911 |
1912 | image: url(./Image/sousuo.png);
1913 |
1914 |
1915 |
1916 |
1917 |
1918 |
1919 |
1920 |
1921 | 760
1922 | 340
1923 | 104
1924 | 78
1925 |
1926 |
1927 |
1928 |
1929 |
1930 |
1931 | 340
1932 | 98
1933 | 71
1934 | 51
1935 |
1936 |
1937 |
1938 |
1939 | 微软雅黑
1940 | 11
1941 | 75
1942 | false
1943 | true
1944 | false
1945 | false
1946 | true
1947 |
1948 |
1949 |
1950 | PointingHandCursor
1951 |
1952 |
1953 | 酷狗音乐
1954 |
1955 |
1956 |
1957 |
1958 |
1959 |
1960 |
1961 |
1962 |
1963 | Image/kmusic.pngImage/kmusic.png
1964 |
1965 |
1966 |
1967 | 52
1968 | 52
1969 |
1970 |
1971 |
1972 | true
1973 |
1974 |
1975 |
1976 |
1977 |
1978 | 429
1979 | 30
1980 | 820
1981 | 519
1982 |
1983 |
1984 |
1985 |
1986 | 思源黑体 CN Bold
1987 | 12
1988 | 75
1989 | false
1990 | true
1991 | false
1992 | false
1993 | true
1994 |
1995 |
1996 |
1997 | 254
1998 |
1999 |
2000 |
2001 | Music
2002 |
2003 |
2004 |
2005 |
2006 | Singer
2007 |
2008 |
2009 |
2010 |
2011 | Album
2012 |
2013 |
2014 |
2015 | type_Edit
2016 | id_Edit
2017 | input_Edit
2018 | seek_Button
2019 | seek_Button_2
2020 | show_label
2021 | input_Edit_2
2022 | download_Button
2023 | open_Button
2024 | label_6
2025 | seek_Button_3
2026 | download_tableWidget
2027 |
2028 |
2029 |
2030 | 歌单&专辑
2031 |
2032 |
2033 |
2034 |
2035 | 110
2036 | 30
2037 | 131
2038 | 40
2039 |
2040 |
2041 |
2042 |
2043 | 思源黑体 CN Bold
2044 | 10
2045 | 75
2046 | false
2047 | true
2048 | false
2049 | false
2050 |
2051 |
2052 |
2053 | true
2054 |
2055 |
2056 | false
2057 |
2058 |
2059 | false
2060 |
2061 |
2062 | 歌单|专辑ID
2063 |
2064 |
2065 | false
2066 |
2067 |
2068 |
2069 |
2070 |
2071 | 260
2072 | 30
2073 | 50
2074 | 40
2075 |
2076 |
2077 |
2078 |
2079 | 思源黑体 CN Bold
2080 | 10
2081 | 75
2082 | false
2083 | true
2084 | false
2085 | false
2086 |
2087 |
2088 |
2089 | PointingHandCursor
2090 |
2091 |
2092 | 搜索歌单
2093 |
2094 |
2095 |
2096 |
2097 |
2098 |
2099 | Image/musiclist.pngImage/musiclist.png
2100 |
2101 |
2102 |
2103 | 50
2104 | 50
2105 |
2106 |
2107 |
2108 | true
2109 |
2110 |
2111 |
2112 |
2113 |
2114 | 110
2115 | 170
2116 | 131
2117 | 40
2118 |
2119 |
2120 |
2121 |
2122 | 思源黑体 CN Bold
2123 | 10
2124 | 75
2125 | false
2126 | true
2127 | false
2128 | false
2129 |
2130 |
2131 |
2132 | true
2133 |
2134 |
2135 | 输入序号
2136 |
2137 |
2138 |
2139 |
2140 |
2141 | 260
2142 | 160
2143 | 50
2144 | 50
2145 |
2146 |
2147 |
2148 |
2149 | 思源黑体 CN Bold
2150 | 10
2151 | 75
2152 | false
2153 | true
2154 | false
2155 | false
2156 |
2157 |
2158 |
2159 | PointingHandCursor
2160 |
2161 |
2162 | 下载音乐
2163 |
2164 |
2165 |
2166 |
2167 |
2168 |
2169 | Image/dowload.pngImage/dowload.png
2170 |
2171 |
2172 |
2173 | 50
2174 | 50
2175 |
2176 |
2177 |
2178 | true
2179 |
2180 |
2181 |
2182 |
2183 |
2184 | 341
2185 | 160
2186 | 50
2187 | 50
2188 |
2189 |
2190 |
2191 |
2192 | 微软雅黑
2193 | 10
2194 | 75
2195 | false
2196 | true
2197 | false
2198 | false
2199 | true
2200 |
2201 |
2202 |
2203 | OpenHandCursor
2204 |
2205 |
2206 | 打开文件夹
2207 |
2208 |
2209 |
2210 |
2211 |
2212 |
2213 | Image/file.pngImage/file.png
2214 |
2215 |
2216 |
2217 | 50
2218 | 50
2219 |
2220 |
2221 |
2222 | true
2223 |
2224 |
2225 |
2226 |
2227 |
2228 | 110
2229 | 100
2230 | 281
2231 | 40
2232 |
2233 |
2234 |
2235 |
2236 | 微软雅黑
2237 | 12
2238 | 75
2239 | false
2240 | true
2241 | false
2242 | false
2243 | true
2244 |
2245 |
2246 |
2247 |
2248 |
2249 |
2250 |
2251 |
2252 |
2253 | 820
2254 | 260
2255 | 104
2256 | 78
2257 |
2258 |
2259 |
2260 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
2261 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
2262 | p, li { white-space: pre-wrap; }
2263 | </style></head><body style=" font-family:'思源黑体 CN Bold'; font-size:12pt; font-weight:600; font-style:normal;">
2264 | <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"><br /></p></body></html>
2265 |
2266 |
2267 |
2268 |
2269 |
2270 | 344
2271 | 30
2272 | 41
2273 | 41
2274 |
2275 |
2276 |
2277 |
2278 | 思源黑体 CN Bold
2279 | 10
2280 | 75
2281 | false
2282 | true
2283 | false
2284 | false
2285 |
2286 |
2287 |
2288 | PointingHandCursor
2289 |
2290 |
2291 | 搜索专辑
2292 |
2293 |
2294 |
2295 |
2296 |
2297 |
2298 | Image/album.pngImage/album.png
2299 |
2300 |
2301 |
2302 | 41
2303 | 41
2304 |
2305 |
2306 |
2307 | true
2308 |
2309 |
2310 |
2311 |
2312 |
2313 | 340
2314 | 270
2315 | 50
2316 | 50
2317 |
2318 |
2319 |
2320 |
2321 | 微软雅黑
2322 | 10
2323 | 75
2324 | false
2325 | true
2326 | false
2327 | false
2328 | true
2329 |
2330 |
2331 |
2332 | PointingHandCursor
2333 |
2334 |
2335 | 下载全部音乐
2336 |
2337 |
2338 |
2339 |
2340 |
2341 |
2342 | Image/alldownload.pngImage/alldownload.png
2343 |
2344 |
2345 |
2346 | 50
2347 | 50
2348 |
2349 |
2350 |
2351 | true
2352 |
2353 |
2354 |
2355 |
2356 |
2357 | 110
2358 | 280
2359 | 210
2360 | 31
2361 |
2362 |
2363 |
2364 | 0
2365 |
2366 |
2367 | 100
2368 |
2369 |
2370 | 0
2371 |
2372 |
2373 | true
2374 |
2375 |
2376 | Qt::Horizontal
2377 |
2378 |
2379 | false
2380 |
2381 |
2382 | QProgressBar::TopToBottom
2383 |
2384 |
2385 | %p%
2386 |
2387 |
2388 |
2389 |
2390 |
2391 | 429
2392 | 30
2393 | 820
2394 | 519
2395 |
2396 |
2397 |
2398 |
2399 | 思源黑体 CN Bold
2400 | 12
2401 | 75
2402 | false
2403 | true
2404 | false
2405 | false
2406 |
2407 |
2408 |
2409 | 254
2410 |
2411 |
2412 |
2413 | Music
2414 |
2415 |
2416 |
2417 |
2418 | Singer
2419 |
2420 |
2421 |
2422 |
2423 | Album
2424 |
2425 |
2426 |
2427 | music_list_id_Edit
2428 | music_list_Edit
2429 | music_list_pushButton
2430 | music_list_lineEdit
2431 | music_list_pushButton_2
2432 | open_Button_3
2433 | music_list_label
2434 | music_list_pushButton_album
2435 | all_download_Button
2436 | all_d_Bar
2437 | music_list_tableWidget
2438 |
2439 |
2440 |
2441 | 排行榜
2442 |
2443 |
2444 |
2445 |
2446 | 110
2447 | 30
2448 | 300
2449 | 40
2450 |
2451 |
2452 |
2453 |
2454 | 思源黑体 CN Bold
2455 | 11
2456 | 75
2457 | false
2458 | true
2459 | false
2460 | false
2461 |
2462 |
2463 |
2464 | true
2465 |
2466 |
2467 | false
2468 |
2469 |
2470 | true
2471 |
2472 | -
2473 |
2474 | 网易云排行榜
2475 |
2476 |
2477 | -
2478 |
2479 | 云音乐飙升榜
2480 |
2481 |
2482 | -
2483 |
2484 | 云音乐新歌榜
2485 |
2486 |
2487 | -
2488 |
2489 | 网易原创歌曲榜
2490 |
2491 |
2492 | -
2493 |
2494 | 云音乐热歌榜
2495 |
2496 |
2497 | -
2498 |
2499 | 云音乐说唱榜
2500 |
2501 |
2502 | -
2503 |
2504 | 云音乐古典音乐榜
2505 |
2506 |
2507 | -
2508 |
2509 | 云音乐电音榜
2510 |
2511 |
2512 | -
2513 |
2514 | 抖音排行榜
2515 |
2516 |
2517 | -
2518 |
2519 | 新声榜
2520 |
2521 |
2522 | -
2523 |
2524 | 云音乐ACG音乐榜
2525 |
2526 |
2527 | -
2528 |
2529 | 云音乐韩语榜
2530 |
2531 |
2532 | -
2533 |
2534 | 云音乐国电榜
2535 |
2536 |
2537 | -
2538 |
2539 | 英国Q杂志中文版周榜
2540 |
2541 |
2542 | -
2543 |
2544 | 电竞音乐榜
2545 |
2546 |
2547 | -
2548 |
2549 | UK排行榜周榜
2550 |
2551 |
2552 | -
2553 |
2554 | 美国Billboard周榜
2555 |
2556 |
2557 | -
2558 |
2559 | Beatport全球电子舞曲榜
2560 |
2561 |
2562 | -
2563 |
2564 | KTV唛榜
2565 |
2566 |
2567 | -
2568 |
2569 | iTunes榜
2570 |
2571 |
2572 | -
2573 |
2574 | 日本Oricon周榜
2575 |
2576 |
2577 | -
2578 |
2579 | Hit FM Top榜
2580 |
2581 |
2582 | -
2583 |
2584 | 台湾Hito排行榜
2585 |
2586 |
2587 | -
2588 |
2589 | 云音乐欧美热歌榜
2590 |
2591 |
2592 | -
2593 |
2594 | 云音乐欧美新歌榜
2595 |
2596 |
2597 | -
2598 |
2599 | 法国 NRJ Vos Hits 周榜
2600 |
2601 |
2602 | -
2603 |
2604 | 中国新乡村音乐排行榜
2605 |
2606 |
2607 |
2608 |
2609 |
2610 |
2611 | 520
2612 | 30
2613 | 601
2614 | 501
2615 |
2616 |
2617 |
2618 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
2619 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
2620 | p, li { white-space: pre-wrap; }
2621 | </style></head><body style=" font-family:'思源黑体 CN Bold'; font-size:12pt; font-weight:600; font-style:normal;">
2622 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这是一个文本框</p>
2623 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这不仅仅是一个文本框</p>
2624 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
2625 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">选择你想查看的网易云排行榜</p>
2626 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">输入对应的序号进行下载</p>
2627 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">圈圈的下载按钮,如果你想点击一下</p>
2628 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">那么</p>
2629 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">排行榜里面的所有歌曲都会跑到你的电脑硬盘里面</p></body></html>
2630 |
2631 |
2632 |
2633 |
2634 |
2635 | 110
2636 | 150
2637 | 111
2638 | 40
2639 |
2640 |
2641 |
2642 |
2643 | 思源黑体 CN Bold
2644 | 10
2645 | 75
2646 | false
2647 | true
2648 | false
2649 | false
2650 |
2651 |
2652 |
2653 | true
2654 |
2655 |
2656 | 输入序号
2657 |
2658 |
2659 |
2660 |
2661 |
2662 | 270
2663 | 145
2664 | 50
2665 | 50
2666 |
2667 |
2668 |
2669 |
2670 | 思源黑体 CN Bold
2671 | 10
2672 | 75
2673 | false
2674 | true
2675 | false
2676 | false
2677 |
2678 |
2679 |
2680 | PointingHandCursor
2681 |
2682 |
2683 | 下载音乐
2684 |
2685 |
2686 |
2687 |
2688 |
2689 |
2690 | Image/dowload.pngImage/dowload.png
2691 |
2692 |
2693 |
2694 | 50
2695 | 50
2696 |
2697 |
2698 |
2699 | true
2700 |
2701 |
2702 |
2703 |
2704 |
2705 | 110
2706 | 220
2707 | 301
2708 | 40
2709 |
2710 |
2711 |
2712 |
2713 | 微软雅黑
2714 | 12
2715 | 75
2716 | false
2717 | true
2718 | false
2719 | false
2720 | true
2721 |
2722 |
2723 |
2724 |
2725 |
2726 |
2727 |
2728 |
2729 |
2730 | 990
2731 | 430
2732 | 104
2733 | 78
2734 |
2735 |
2736 |
2737 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
2738 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
2739 | p, li { white-space: pre-wrap; }
2740 | </style></head><body style=" font-family:'思源黑体 CN Bold'; font-size:12pt; font-weight:600; font-style:normal;">
2741 | <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"><br /></p></body></html>
2742 |
2743 |
2744 |
2745 |
2746 |
2747 | 360
2748 | 145
2749 | 50
2750 | 50
2751 |
2752 |
2753 |
2754 |
2755 | 微软雅黑
2756 | 10
2757 | 75
2758 | false
2759 | true
2760 | false
2761 | false
2762 | true
2763 |
2764 |
2765 |
2766 | OpenHandCursor
2767 |
2768 |
2769 | 打开文件夹
2770 |
2771 |
2772 |
2773 |
2774 |
2775 |
2776 | Image/file.pngImage/file.png
2777 |
2778 |
2779 |
2780 | 50
2781 | 50
2782 |
2783 |
2784 |
2785 | true
2786 |
2787 |
2788 |
2789 |
2790 |
2791 | 110
2792 | 310
2793 | 210
2794 | 31
2795 |
2796 |
2797 |
2798 | 0
2799 |
2800 |
2801 | 100
2802 |
2803 |
2804 | 0
2805 |
2806 |
2807 | true
2808 |
2809 |
2810 | Qt::Horizontal
2811 |
2812 |
2813 | false
2814 |
2815 |
2816 | QProgressBar::TopToBottom
2817 |
2818 |
2819 | %p%
2820 |
2821 |
2822 |
2823 |
2824 |
2825 | 363
2826 | 300
2827 | 50
2828 | 50
2829 |
2830 |
2831 |
2832 |
2833 | 微软雅黑
2834 | 10
2835 | 75
2836 | false
2837 | true
2838 | false
2839 | false
2840 | true
2841 |
2842 |
2843 |
2844 | PointingHandCursor
2845 |
2846 |
2847 | 下载全部音乐
2848 |
2849 |
2850 |
2851 |
2852 |
2853 |
2854 | Image/alldownload.pngImage/alldownload.png
2855 |
2856 |
2857 |
2858 | 50
2859 | 50
2860 |
2861 |
2862 |
2863 | true
2864 |
2865 |
2866 | top_id_Edit
2867 | comboBox
2868 | top_textEdit
2869 | top_lineEdit
2870 | top_pushButton
2871 | top_show_label
2872 | open_Button_2
2873 | top_d_Bar
2874 | top_download_Button
2875 |
2876 |
2877 |
2878 | 评论
2879 |
2880 |
2881 |
2882 |
2883 | 520
2884 | 30
2885 | 601
2886 | 501
2887 |
2888 |
2889 |
2890 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
2891 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
2892 | p, li { white-space: pre-wrap; }
2893 | </style></head><body style=" font-family:'思源黑体 CN Bold'; font-size:12pt; font-weight:600; font-style:normal;">
2894 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这是一个文本框</p>
2895 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这不仅仅是一个文本框</p>
2896 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
2897 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果你想使用这里的功能</p>
2898 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">请先回到[音乐下载]界面</p>
2899 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">找到对应的序号</p>
2900 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
2901 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">点击第一个按钮</p>
2902 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">进行网易云音乐评论查看(15条热评+400最新评论)</p>
2903 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果你觉得这样查看不舒服,或者评论数量太少</p>
2904 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
2905 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">点击第二个按钮</p>
2906 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">生成Excel文件进行查看(15条热评+1000最新评论)</p>
2907 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
2908 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">点击第三个按钮</p>
2909 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">即可打开刚刚生成的Excel文件</p></body></html>
2910 |
2911 |
2912 |
2913 |
2914 |
2915 | 110
2916 | 30
2917 | 121
2918 | 40
2919 |
2920 |
2921 |
2922 |
2923 | 思源黑体 CN Bold
2924 | 10
2925 | 75
2926 | false
2927 | true
2928 | false
2929 | false
2930 |
2931 |
2932 |
2933 | true
2934 |
2935 |
2936 | false
2937 |
2938 |
2939 | false
2940 |
2941 |
2942 | 输入序号
2943 |
2944 |
2945 |
2946 |
2947 |
2948 | 140
2949 | 100
2950 | 50
2951 | 50
2952 |
2953 |
2954 |
2955 |
2956 | 思源黑体 CN Bold
2957 | 10
2958 | 75
2959 | false
2960 | true
2961 | false
2962 | false
2963 |
2964 |
2965 |
2966 | PointingHandCursor
2967 |
2968 |
2969 | 查看评论
2970 |
2971 |
2972 |
2973 |
2974 |
2975 |
2976 | Image/look.pngImage/look.png
2977 |
2978 |
2979 |
2980 | 50
2981 | 50
2982 |
2983 |
2984 |
2985 | true
2986 |
2987 |
2988 |
2989 |
2990 |
2991 | 140
2992 | 200
2993 | 50
2994 | 50
2995 |
2996 |
2997 |
2998 |
2999 | 思源黑体 CN Bold
3000 | 10
3001 | 75
3002 | false
3003 | true
3004 | false
3005 | false
3006 |
3007 |
3008 |
3009 | PointingHandCursor
3010 |
3011 |
3012 | 生成Excel
3013 |
3014 |
3015 |
3016 |
3017 |
3018 |
3019 | Image/excel.pngImage/excel.png
3020 |
3021 |
3022 |
3023 | 50
3024 | 50
3025 |
3026 |
3027 |
3028 | true
3029 |
3030 |
3031 |
3032 |
3033 |
3034 | 140
3035 | 300
3036 | 50
3037 | 50
3038 |
3039 |
3040 |
3041 |
3042 | 思源黑体 CN Bold
3043 | 10
3044 | 75
3045 | false
3046 | true
3047 | false
3048 | false
3049 |
3050 |
3051 |
3052 | OpenHandCursor
3053 |
3054 |
3055 | 打开Excel
3056 |
3057 |
3058 |
3059 |
3060 |
3061 |
3062 | Image/openexcel.pngImage/openexcel.png
3063 |
3064 |
3065 |
3066 | 50
3067 | 50
3068 |
3069 |
3070 |
3071 | true
3072 |
3073 |
3074 |
3075 |
3076 |
3077 | 110
3078 | 410
3079 | 391
3080 | 40
3081 |
3082 |
3083 |
3084 |
3085 | 微软雅黑
3086 | 12
3087 | 75
3088 | false
3089 | true
3090 | false
3091 | false
3092 | true
3093 |
3094 |
3095 |
3096 |
3097 |
3098 |
3099 |
3100 |
3101 |
3102 | 980
3103 | 430
3104 | 104
3105 | 78
3106 |
3107 |
3108 |
3109 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
3110 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
3111 | p, li { white-space: pre-wrap; }
3112 | </style></head><body style=" font-family:'思源黑体 CN Bold'; font-size:12pt; font-weight:600; font-style:normal;">
3113 | <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"><br /></p></body></html>
3114 |
3115 |
3116 |
3117 |
3118 |
3119 | 800
3120 | 470
3121 | 151
3122 | 41
3123 |
3124 |
3125 |
3126 | comment_name_textEdit
3127 | comment_id_Edit
3128 | comment_textEdit
3129 | comment_Edit
3130 | comment_pushButton
3131 | comment_pushButton_2
3132 | comment_pushButton_3
3133 | comment_show_label
3134 |
3135 |
3136 |
3137 | 歌词
3138 |
3139 |
3140 |
3141 |
3142 | 110
3143 | 30
3144 | 121
3145 | 40
3146 |
3147 |
3148 |
3149 |
3150 | 思源黑体 CN Bold
3151 | 10
3152 | 75
3153 | false
3154 | true
3155 | false
3156 | false
3157 |
3158 |
3159 |
3160 | true
3161 |
3162 |
3163 | 输入序号
3164 |
3165 |
3166 |
3167 |
3168 |
3169 | 140
3170 | 100
3171 | 50
3172 | 50
3173 |
3174 |
3175 |
3176 |
3177 | 思源黑体 CN Bold
3178 | 10
3179 | 75
3180 | false
3181 | true
3182 | false
3183 | false
3184 |
3185 |
3186 |
3187 | PointingHandCursor
3188 |
3189 |
3190 | 查看歌词
3191 |
3192 |
3193 |
3194 |
3195 |
3196 |
3197 | Image/lyrics.pngImage/lyrics.png
3198 |
3199 |
3200 |
3201 | 50
3202 | 50
3203 |
3204 |
3205 |
3206 | true
3207 |
3208 |
3209 |
3210 |
3211 |
3212 | 520
3213 | 30
3214 | 601
3215 | 501
3216 |
3217 |
3218 |
3219 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
3220 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
3221 | p, li { white-space: pre-wrap; }
3222 | </style></head><body style=" font-family:'思源黑体 CN Bold'; font-size:12pt; font-weight:600; font-style:normal;">
3223 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这是一个文本框</p>
3224 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这不仅仅是一个文本框</p>
3225 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
3226 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果你想使用这里的功能</p>
3227 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">请先回到[音乐下载]界面</p>
3228 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">找到对应的序号</p>
3229 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
3230 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">点击第一个按钮</p>
3231 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">即可查看这首的歌词</p>
3232 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
3233 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">点击第二个按钮</p>
3234 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">即可查看首带时间段的歌词</p></body></html>
3235 |
3236 |
3237 |
3238 |
3239 |
3240 | 140
3241 | 200
3242 | 50
3243 | 50
3244 |
3245 |
3246 |
3247 |
3248 | 思源黑体 CN Bold
3249 | 10
3250 | 75
3251 | false
3252 | true
3253 | false
3254 | false
3255 |
3256 |
3257 |
3258 | PointingHandCursor
3259 |
3260 |
3261 | 查看歌词(T)
3262 |
3263 |
3264 |
3265 |
3266 |
3267 |
3268 | Image/lyrics1.pngImage/lyrics1.png
3269 |
3270 |
3271 |
3272 | 50
3273 | 50
3274 |
3275 |
3276 |
3277 | true
3278 |
3279 |
3280 |
3281 |
3282 |
3283 | 110
3284 | 320
3285 | 391
3286 | 40
3287 |
3288 |
3289 |
3290 |
3291 | 微软雅黑
3292 | 12
3293 | 75
3294 | false
3295 | true
3296 | false
3297 | false
3298 | true
3299 |
3300 |
3301 |
3302 |
3303 |
3304 |
3305 |
3306 |
3307 |
3308 | 说明
3309 |
3310 |
3311 |
3312 |
3313 | 30
3314 | 50
3315 | 561
3316 | 461
3317 |
3318 |
3319 |
3320 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
3321 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
3322 | p, li { white-space: pre-wrap; }
3323 | </style></head><body style=" font-family:'思源黑体 CN Bold'; font-size:12pt; font-weight:600; font-style:normal;">
3324 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑'; color:#2ad1ff;">Music_Download</span></p>
3325 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'微软雅黑';"><br /></p>
3326 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">功能均由Python实现</span></p>
3327 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">-------------------------------------------</span></p>
3328 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">2.1.3版本更新</span></p>
3329 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">使用自己写的网易云API接口</span></p>
3330 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">解决了歌单只有三首的限制</span></p>
3331 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">2021/01/01</span></p>
3332 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">-------------------------------------------</span></p>
3333 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">2.1版本更新</span></p>
3334 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">1:老版本爬取网易云歌单时,限制在20首</span></p>
3335 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">新版本已解决这个问题</span></p>
3336 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">2:首页界面增加了切换按钮,可以看到更多的歌单</span></p>
3337 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">3:排行榜、评论、歌词界面,文本框里增加了说明</span></p>
3338 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">4:评论界面,评论显示更加清晰</span></p>
3339 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">5:优化了一些逻辑</span></p>
3340 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">2020/06/25</span></p>
3341 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'微软雅黑';"><br /></p>
3342 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">-------------------------------------------</span></p>
3343 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">2.0版本更新</span></p>
3344 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
3345 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">1:支持播放网易云音乐、QQ音乐、酷狗音乐的音乐</span></p>
3346 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">2:网易云歌单显示以及播放其中的音乐</span></p>
3347 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">3:网易云排行榜显示以及播放其中的音乐</span></p>
3348 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">4:下载正在播放的音乐</span></p>
3349 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">5:可以更换顶部的图片</span></p>
3350 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">6:再次提升界面美观</span></p>
3351 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">-------------------------------------------</span></p>
3352 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">1.2版本更新</span></p>
3353 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'微软雅黑';"><br /></p>
3354 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">1:现已支持,网易云,QQ音乐,酷狗音乐(新增)</span></p>
3355 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">2:爬取网易云评论,现已支持热评(15条)第一个版本只支持最新的评论 </span></p>
3356 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">3:支持,通过网易云的歌单ID,专辑ID;进行音乐显示及其下载(ID左边第一个是歌单按钮,第二个是专辑按钮)</span></p>
3357 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">4:支持,批量下载歌单,专辑,排行榜里面的歌曲;而且还有进度条显示</span></p>
3358 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">5:界面再次升级,美观度再次提升</span></p>
3359 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">-------------------------------------------</span></p>
3360 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">1.1</span></p>
3361 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'微软雅黑';"><br /></p>
3362 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">支持 网易云,QQ音乐付费音乐下载</span></p>
3363 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">支持 网易云26种排行榜查看以及下载</span></p>
3364 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">支持 网易云所有音乐评论查看,并且可以自动化写入Excel</span></p>
3365 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">支持 网易云所有音乐歌词查看</span></p>
3366 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">使用'评论''歌词'功能需要先到'音乐下载'界面搜索音乐</span></p>
3367 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">-------------------------------------------</span></p>
3368 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">世界因代码而改变!</span></p>
3369 | <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'微软雅黑';"><br /></p>
3370 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">BY:Java_S</span></p></body></html>
3371 |
3372 |
3373 |
3374 |
3375 |
3376 | 672
3377 | 50
3378 | 561
3379 | 461
3380 |
3381 |
3382 |
3383 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
3384 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
3385 | p, li { white-space: pre-wrap; }
3386 | </style></head><body style=" font-family:'思源黑体 CN Bold'; font-size:12pt; font-weight:600; font-style:normal;">
3387 | <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">《</span><span style=" font-family:'Source Han Sans SC','Noto Sans CJK SC','HanHei SC','-apple-system','BlinkMacSystemFont','system-ui','sans-serif','Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji'; font-size:20px; color:#333333; background-color:#ffffff;">中华人民共和国著作权法(2010修正)</span><span style=" font-family:'微软雅黑';">》</span></p>
3388 | <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:26px; font-family:'微软雅黑'; background-color:#ffffff;"><br /></p>
3389 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">为保护文学、艺术和科学作品作者的著作权,以及与著作权有关的权益,鼓励有益于社会主义精神文明、物质文明建设的作品的创作和传播,促进社会主义文化和科学事业的发展与繁荣,根据宪法制定本法。</span></p>
3390 | <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'微软雅黑';"><br /></p>
3391 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">《著作权法》,加强对音乐作品特别是数字音乐作品的版权保护,严厉打击未经许可传播音乐作品的侵权盗版行为,支持权利人和使用者开展版权合作,推动音乐作品相互授权和广泛传播,鼓励相关单位积极探索网络环境下传播音乐作品的商业模式,推动建立良好的网络音乐版权秩序和运营生态,逐步实现数字音乐的正版化运营。完善反盗版举报和查处奖励机制,加大对网络非法传播、假冒出版单位制作出版等各类侵权盗版行为的打击力度。强化市场监管,坚决依法查处含有有害内容的音乐作品。</span></p>
3392 | <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'微软雅黑';"><br /></p>
3393 | <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'微软雅黑';"><br /></p>
3394 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'微软雅黑';">请支持正版音乐,本软件仅供参考与学习</span></p></body></html>
3395 |
3396 |
3397 |
3398 |
3399 |
3400 | 605
3401 | 50
3402 | 50
3403 | 50
3404 |
3405 |
3406 |
3407 |
3408 | 微软雅黑
3409 | 11
3410 | 75
3411 | false
3412 | true
3413 | false
3414 | false
3415 | true
3416 |
3417 |
3418 |
3419 | PointingHandCursor
3420 |
3421 |
3422 | 换肤
3423 |
3424 |
3425 |
3426 |
3427 |
3428 |
3429 |
3430 |
3431 |
3432 | Image/换肤.pngImage/换肤.png
3433 |
3434 |
3435 |
3436 | 49
3437 | 49
3438 |
3439 |
3440 |
3441 | false
3442 |
3443 |
3444 | false
3445 |
3446 |
3447 | false
3448 |
3449 |
3450 | false
3451 |
3452 |
3453 | true
3454 |
3455 |
3456 |
3457 |
3458 |
3459 |
3460 |
3461 | 0
3462 | 0
3463 | 1250
3464 | 200
3465 |
3466 |
3467 |
3468 | image: url(./Image/title.png);
3469 |
3470 |
3471 |
3472 |
3473 |
3474 |
3475 |
3476 |
3477 |
3478 |
3479 |
3480 |
3481 |
--------------------------------------------------------------------------------
/look over.txt:
--------------------------------------------------------------------------------
1 | 由于上传Github时,不支持上传中文命名的文件,本项目所需要的图片文件请到下面的网址下载,给您造成了不便,十分抱歉
2 | https://wwx.lanzoux.com/b01boa0eb
3 | 个人博客:https://www.syjun.vip
4 |
--------------------------------------------------------------------------------