发现了一首非常好听的歌曲,在网易云,安利给大家:
网易云链接:http://music.163.com/song?id=465921195&userid=3262694145
非常好听的一首歌,当我想把它下载下来的时候:
记住这句话啊!我们程序员受不了这气!!!
上网搜了一下发现,嘿嘿
http://music.163.com/song/media/outer/url?id=(这里填入音乐id).mp3
可以直接下载
比如这首《还是分开》,id是465921195,那可以进入:
**http://music.163.com/song/media/outer/url?id=465921195.mp3
下载,就很棒!
那么python下载器就很容易做了,只要用到urllib的requests.get就可以了
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36"
}
url = 'http://music.163.com/song/media/outer/url?id=' + str(song_id)+'.mp3'
response = requests.get(url, headers=headers)
filename = name+".mp3"
with open(filename, 'wb')as f:
f.write(response.content)
print("下载成功!")
很简单嘛!
加上亿点点细节,搞个问答的,搞个开头:
import contextlib
with contextlib.redirect_stdout(None):
import pygame
import requests
import json
import os
import time
from urllib.request import urlretrieve
import urllib
# import mp3play
def start():
pygame.init()
screen=pygame.display.set_mode([958,225])
pygame.display.set_caption('爬取网易云音乐')
img = pygame.image.load("logo.jpg")
screen.blit(img, (0,0))
pygame.display.update()
pygame.mixer.init()
#pygame.mixer.music.load("open.MP3")
#pygame.mixer.music.play()
time.sleep(4)
pygame.quit()
def q():
os.system('cls')
def get_mp3(song_id, name):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36"
}
url = 'http://music.163.com/song/media/outer/url?id=' + str(song_id)+'.mp3'
#网页格式:http://music.163.com/song/media/outer/url?id=1409329655.mp3
print()
print("获取下载网页为: ",url)
print()
print("正在下载:",name)
try:
response = requests.get(url, headers=headers)
filename = name+".mp3"
with open(filename, 'wb')as f:
f.write(response.content)
print("下载成功!")
except:
print("下载失败了o╥﹏╥o……可能是由于:\n①您输入的网页链接有错\n②系统崩溃了\n③网络出了问题\n④这是2020年的版本,可能网易云音乐改变了插口结构")
print()
print()
if __name__ == "__main__":
start()
while True:
basic_url = input("输入您想要下载的网易云音乐的链接音乐Id部分,即id= ")
#规范格式:http://music.163.com/song?id=1409329655&userid=3262694145
basic_name = input("输入音乐名字: ")
get_mp3(basic_url, basic_name)
源码↑
就行了!
logo.jpg在这:
很好!
需要的可以在加上个搜索的功能,赤裸裸挑衅网易云!
于是,你什么歌都有了!
不用谢我!给个赏或者点个赞就行!