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

前面有介绍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

源码飞机票

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值