Python 网易云音乐 MV 下载
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import os
import urllib.request
driver = webdriver.PhantomJS(executable_path=r'C:\Users\zulin\Desktop\phantomjs-2.1.1-windows\bin\phantomjs.exe')
#driver = webdriver.Chrome(r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
#driver = webdriver.Firefox()
url = input("input the mv url:")
driver.get(url)
print("proccessing...")
frame = driver.find_element_by_xpath('//iframe[@name="contentFrame"]')
driver.switch_to.frame(frame)
embed = driver.find_element_by_tag_name('embed')
try:
embed = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.TAG_NAME, "embed")))
finally:
flashvars = embed.get_attribute("flashvars")
params = flashvars.split("&")
artist = params[4].split("=")[1]
song = params[3].split("=")[1]
murl = params[1][5:]
filename = '%s/%s.mp4' %(artist,song)
if os.path.exists(filename)==False:
if os.path.exists(artist)==False:
os.makedirs(artist)
urllib.request.urlretrieve(murl,filename)
driver.close()
print("file download in same floder with this program!")