当前位置: 移动技术网 > IT编程>脚本编程>Python > Python批量处理网易云音乐缓存文件获取MP3

Python批量处理网易云音乐缓存文件获取MP3

2020年07月03日  | 移动技术网IT编程  | 我要评论
前面有介绍Python批量处理网易云音乐缓存文件获取MP3,但是存在一个问题,使用的获取mp3文件名称的模块,很多文件获取不到歌曲名称和歌手信息,后面做了一个完善,通过获取歌曲的网易云音乐id信息在线联网查询歌曲名称,然后重命名文件。环境准备1、Selenium 自行安装2、Google Chrome and webdriver 请移步chrome webdriver下载你电脑chrome版本对应驱动,不知道的百度一下咯。关键代码1、获取歌曲id for i in fList:

前面有介绍Python批量处理网易云音乐缓存文件获取MP3,但是存在一个问题,使用的获取mp3文件名称的模块,很多文件获取不到歌曲名称和歌手信息,后面做了一个完善,通过获取歌曲的网易云音乐id信息在线联网查询歌曲名称,然后重命名文件。

环境准备

1、Selenium 自行安装
2、Google Chrome and webdriver 请移步chrome webdriver下载你电脑chrome版本对应驱动,不知道的百度一下咯。

import os
from mutagen.mp3 import MP3
from mutagen.easyid3 import EasyID3
import requests
from selenium import webdriver
import time
from bs4 import BeautifulSoup

关键代码

1、获取歌曲id

    for i in fList:
       music_id = i.split("-",1)[0]
       print(music_id)
       url = 'https://music.163.com/song?id=%s'%music_id
       response= get_html_src(url)
       # 将源代码保存到变量s里面
       soup = BeautifulSoup(response, "html.parser")
       print(soup.title.text.split("-",1)[0])
       decodefile(os.path.join(CachePath, i),os.path.join(SavePath, (soup.title.text.split("-",1)[0]+'.mp3')),soup.title.text.split("-",1)[0], index)
       index = index+1

2、隐式使用chrome访问网易在线歌曲,获取歌曲信息

def get_html_src(url):
    # 可以任意选择浏览器,前提是要配置好相关环境,更多请参考selenium官方文档
    option = webdriver.ChromeOptions()
    option.add_argument('disable-infobars')
    # 无显示浏览器模式
    # option.add_argument('--headless')
    # 打开chrome浏览器
    driver = webdriver.Chrome(chrome_options=option)
    driver.get(url)
    # 切换成frame
    driver.switch_to.frame("g_iframe")
    # 休眠3秒,等待加载完成!
    time.sleep(2)
    page_src = driver.page_source
    driver.close()
    return page_src

源码飞机票

本文地址:https://blog.csdn.net/QT_Port/article/details/107073924

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网