音乐目前只有日韩和欧美的,中文音乐暂无。
输入歌手或者乐队名称,之后播放器每次切歌曲都会随机选择曲风类似的歌曲。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#author:shadow110cs
#简易在线音乐
import requests
import json
import os
import random
stid = []
def get_music():
try:
global stid
hdr = {
"cookie": "_jango_s=SHpnQ2lZUUw3L0tOM2dLS29CZ0VmbUlUVW44UnF4eGlJQUp1a0pzUmNaVW81RkNRcmkwUHQrVFhuZW1MRkpTWkxRN3JBV0FEVmU1RFo5L0cwQWtoQlJsay81Z1RNQ1YvOUo1bXN5SDRNaUpEUjZyNzNMWjFBamhjMlZTZnVXUFhzU2tEMklpNThPWWdiKy81a0VNUkJyMmJVWGgrRzBVTXBvU216L1pTWXFKUjI4WHJNK1ROSkRFYjl4ZUJBTUhTLS0yYzBWdTg5eTRRdHVxWTM0RGdEelJ3PT0%3D--a011693418777eb1c4151ec33b632839943a9e21",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"
}
sid = random.choice(stid)
if sid != "":
url = "https://www.jango.com/streams/info?&sid=496fad460d33311530efe598e9f88777&stid="+str(sid)+"&ver=304"
else:
url = "https://www.jango.com/streams/info?&sid=496fad460d33311530efe598e9f88777"
res = requests.get(url,headers=hdr).json()
if len(stid) < 20:
stid.append(res['similar_stations'][0]['id'])
print("歌手:"+res['artist'])
print("歌曲名:"+res['song'])
print("Ctrl+C更换歌曲")
link = "https:"+res['url']
os.system("ffplay -noinfbuf -reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5 -loglevel -8 -v -8 -nodisp -vn -autoexit "+link)
except KeyboardInterrupt:
pass
def get_stid(artist):
global stid
temp = ""
try:
temp = "+".join(str(artist).split(" "))
except:
temp = artist
hdr = {
"cookie": "_jango_s=SHpnQ2lZUUw3L0tOM2dLS29CZ0VmbUlUVW44UnF4eGlJQUp1a0pzUmNaVW81RkNRcmkwUHQrVFhuZW1MRkpTWkxRN3JBV0FEVmU1RFo5L0cwQWtoQlJsay81Z1RNQ1YvOUo1bXN5SDRNaUpEUjZyNzNMWjFBamhjMlZTZnVXUFhzU2tEMklpNThPWWdiKy81a0VNUkJyMmJVWGgrRzBVTXBvU216L1pTWXFKUjI4WHJNK1ROSkRFYjl4ZUJBTUhTLS0yYzBWdTg5eTRRdHVxWTM0RGdEelJ3PT0%3D--a011693418777eb1c4151ec33b632839943a9e21",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"
}
url = "https://www.jango.com/music/"+str(temp)
res = requests.get(url,headers=hdr)
stid.append(res.text.split("\"station_id\":\"")[1].split("\"")[0])
def uniq_stid():
global stid
temp = []
for x in stid:
if x not in temp:
temp.append(x)
stid = temp
if __name__ == "__main__":
os.system('mode con cols=40 lines=4')
os.system('title 在线音乐')
artist = input("输入歌手名称:")
if artist != "":
get_stid(artist)
temp = (os.popen("ffplay -version").read())
if str(temp).startswith("ffplay version"):
while True:
uniq_stid()
get_music()
else:
print("本音乐播放器需要ffplay程序作为解码器")
print("下载地址:https://www.gyan.dev/ffmpeg/builds/")
os.system("pause")
os.system("start https://www.gyan.dev/ffmpeg/builds/")