1. 程式人生 > >python使用網易雲音樂 api下載mv

python使用網易雲音樂 api下載mv

import json

import requests
import urllib
import os
import sys
from urllib.parse import urlparse,parse_qs


def http_get(api):
    my_cookie = {
    "version":0,
    "name":'appver',
    "value":'1.5.0.75771',
    "port":None,
    # "port_specified":False,
    "domain":'www.mydomain.com',
    # "domain_specified":False,
# "domain_initial_dot":False, "path":'/', # "path_specified":True, "secure":False, "expires":None, "discard":True, "comment":None, "comment_url":None, "rest":{}, "rfc2109":False } s = requests.Session() s.headers.update({'Referer': "http://music.163.com/"
}) s.cookies.set(**my_cookie) response = s.get(api) json_data = json.loads(response.text) return json_data def download_single(id): size = "720" #default 720p api = "http://music.163.com/api/mv/detail?id="+str(id)+"&type=mp4" json_data = http_get(api) if json_data["code"
]==200: mvurl = json_data["data"]["brs"][size] artist = json_data["data"]["artistName"] song = json_data["data"]["name"] filename = '%s/[%s]%s.mp4' %(artist,size,song) if os.path.exists(filename)==False: if os.path.exists(artist)==False: os.makedirs(artist) def reporthook(blocknum, blocksize, totalsize): readsofar = blocknum * blocksize if totalsize > 0: percent = readsofar * 1e2 / totalsize s = "\r%5.1f%% %*d / %d" % ( percent, len(str(totalsize)), readsofar, totalsize) sys.stderr.write(s) if readsofar >= totalsize: # near the end sys.stderr.write("\n") else: # total size is unknown sys.stderr.write("read %d\n" % (readsofar,)) print("downloading "+filename) urllib.request.urlretrieve(mvurl,filename,reporthook) input = input("input the mv url:").replace("#","") id = parse_qs(urlparse(input).query)["id"][0] if "playlist" in input: playlist_api = "http://music.163.com/api/playlist/detail?id=%s" %(id) json_data = http_get(playlist_api) for idx, mv in enumerate(json_data["result"]["tracks"]): download_single(mv["mvid"]) print("downloaded:"+str(idx)) elif "album" in input: playlist_api = "http://music.163.com/api/album/%s" %(id) json_data = http_get(playlist_api) for idx, mv in enumerate(json_data["album"]["songs"]): if mv["mvid"] != None and mv["mvid"]!=0 : download_single(mv["mvid"]) print("downloaded:"+str(idx)) download_single(id)

相關推薦

python使用音樂 api下載mv

import json import requests import urllib import os import sys from urllib.parse import urlparse,parse_qs def http_get(api):

Java: 根據音樂URL下載歌曲、歌詞、專輯封面和MV

先看最終效果圖: 前提請下載: (1)jsoup-1.11.3.jar (2)JMF 2.1.1e 然後使用開源的JSoup分析框架原始碼得到如下: <script type="application/ld+json"> { "@context"

python 音樂

  1. 網易雲POST需要兩個引數params,encSecKey           2. 在某一個js中可以找到這兩個引數        3. bUS2x就是一個函式window.asrsea的返回值,window.asrsea = d,最終就是d函式,傳入4個引數 4. 檢視傳入

Python 音樂評論爬蟲

引言 之前網易雲音樂和農夫山泉合作,將熱門評論印在農夫山泉上引爆了朋友圈。於是想爬取一下網易雲的評論。網上搜了一下,對於網易雲評論的爬蟲不少,主要參考這篇文章:對網易雲音樂引數(params,encSecKey)的分析 。在此基礎上,添加了爬取雲音樂飆升榜中歌曲,再去爬取這些歌曲的評

音樂破解下載

今天給大家帶來一款神器----JY播放器。可以直接下載網易雲音樂的歌曲。 目前已經支援平臺(蜻蜓FM、喜馬拉雅FM、網易雲音樂、QQ音樂) 使用方法: 在電腦開啟網易雲音樂或者網站找到你要聽的歌曲或歌單。複製連結或者複製網址即可​​ 軟體裡有自動監聽剪下板功能,當複製的時候自動就已經把歌曲或歌

[原]基於音樂API的無線音箱

0x01.關於 大一時候買了個音箱,低音蠻重的,效果挺不錯的。 無聊的時候就閒想弄個無線音箱好了。 市面上的無線音箱都是基於藍芽傳輸的,我就不湊熱鬧了,想想就用資料通訊好了。 起初的想法是用樹莓派做伺服器,手機web端做客戶端。 但

Android使用Volley解析音樂Api

介紹Volley是針對Android平臺的網路通訊類庫,能使網路通訊更容易、更快速、更健壯,適用於資料量不大、但通訊頻繁的網路操作。 Gson是用來在Java物件和JSON資料之間進行對映的Java類

小談音樂----API

網易雲音樂API分析 1. 總覽 本文件是通過對網易雲音樂Android客戶端(1.5.2)的部分功能進行分析得出的 在所有的互動中,均需要在cookie中新增這對鍵值appver=1.5.2; (Update 2014-07-13) cookie中新增ap

酷狗音樂、QQ音樂音樂API

寫在前面 ​ 一開始現操期中課程設計想要做一個可以共享各大音樂平臺的音樂播放器,而這些音樂平臺都沒有提供API介面(很正常ヾ(・ε・`*) ),所以研究了一下酷狗音樂、QQ音樂、網易雲音樂的網頁版,通過網頁版來獲取資料;然而最後因為時間的關係課程

Python爬取下載音樂

from urllib import request import requests import re from bs4 import BeautifulSoup from pprint import pprint import urllib, time def get

音樂/QQ音樂API更新,支援多音質切換/MV獲取

自從上一版開源過後到現在音樂介面的呼叫量已經達到了快100W,但是最近由於網易雲的更新,導致部分介面不能使用,最近在工作之餘抽出時間把API重寫。 本次API版本不再使用PHP,使用Java,相比以前速度更快(畢竟我是擼Java的,不會PHP),前期不考慮開源,

python+selenium 下載音樂 支持批量下載

exc [] attr requests ons disable inf src chrom import osimport reimport requestsfrom selenium import webdriverfrom selenium.common.except

python+selenium 下載音樂 支援批量下載

import osimport reimport requestsfrom selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionclass Wy_music():  &n

【技術乾貨】如何下載音樂MV、短視訊?其實很簡單

本人:網易雲音樂死粉,朋友圈大多都用的是雲音樂,因為推薦功能牛逼然後:發現雲音樂APP裡越來越多吸引我的短視訊,經常看到好的就想儲存到相簿,然後微信發給朋友但是:不知道怎麼下載網易雲音樂的短視訊,比如:好友動態裡的短視訊怎麼儲存到手機?使用方法:開啟網易雲音樂APP,點開某個

Python破解音樂下載版權限制

在播放某個音樂時,網易雲音樂會通過使用其api來解析這首音樂的id。 用Eminem的Rap God來舉例。 Rap God by Eminem https://music.163.com/#/song?id=27853227 #注意其中顯示此音樂的id為27853227 網易

python爬取音樂python下載音樂

import requests import time import os from urllib import request from bs4 import BeautifulSoup import urllib class Wy: page = 0 wymusic = {}

小白都懂的Python爬蟲之音樂下載

微信又改版了,為了方便第一時間看到我們的推送,請按照下列操作,設定“置頂”:點選上方藍色字型“程

利用Python爬蟲批量下載音樂歌單歌曲

from tkinter import * import requests from bs4 import BeautifulSoup from urllib.request import urlretrieve def download(): url = ent

Python + Mysql 打造音樂 熱評庫 + 評論頭像下載【2】

熱歌榜 熱評 我這裡是通過儲存為本地檔案進行獲取。 import requests import json import os from urllib.request import urlretrieve from MySql import MysqlCon

Python音樂、QQ 音樂、酷狗音樂、蝦米音樂等搜尋和下載歌曲

music-dl 從網易雲音樂、QQ音樂、酷狗音樂、百度音樂、蝦米音樂等搜尋和下載歌曲。 Search and download