网易云再度升级!用Python爬取下载(二:实现的源代码)

那么我就不多说了,直接上代码(别人家都是给断断续续的代码然后要下载就得交钱的)
首先是下载歌曲的实现:

 #--*encoding:utf-8*--
import contextlib
import requests
import json
import os 
import time
from requests_html import HTMLSession
import pyperclip
import eyed3
download = 1
name = 1
by = 1
pic = 1
# import mp3play
def q():
    os.system('cls') 

def write(abc, path):
    paths = path+".lrc"
    with open(paths,"w") as f:
        f.write(abc)
def get_download_url(id):
        url = "https://api.imjad.cn/cloudmusic/?type=song&id="+str(id)+ "&br=128000"
        print("获取歌曲下载地址中……")
        global download
        session = HTMLSession()
        r = session.get(url)
        r_code = r.html.html
        start = r_code.find('''"url":"''') 
        start = start + 7
        end = r_code.find('''","br"''')
        download = r_code[start:end]
        download = download.replace("\/","/")
        print("获取成功:\n",download,"\n\n")
def get_name(id):
    print("获取歌曲信息中(歌名、艺术家、封面)……\n")
    global name
    global by
    global pic
    url = "https://api.imjad.cn/cloudmusic/?type=detail&id="+str(id)
    session = HTMLSession()
    _g = session.get(url)
    g = _g.html.html 
    print("\n")
    name_start = g.find('''"name":"''')
    name_start += 8
    name_end = g.find('''","id"''')
    name = g[name_start:name_end]
    by_start = g.find(''',"name":"''')
    by_start += 9
    by_end = g.find('''","tns":''')
    by = g[by_start:by_end]
    pic_start = g.find('''picUrl":"''')
    pic_start += 9
    pic_end = g.find(".jpg")
    pic_end += 4
    pic = g[pic_start:pic_end]
    print("获取成功:\n歌名:",name,"\n艺术家:",by,"\n封面下载地址:",pic,"\n\n")
def DownLoad(id):
        get_name(id)
        get_download_url(id)
        global download
        global name
        global by
        global pic
        ####################################### 歌曲的下载
        m = input("是否帮你下载歌曲?")
        if m == "是":
            print("正在下载……")
            filename = name+".mp3"
            url = download
            start_time = time.time()
            response = requests.get(url)
            with open(filename, 'wb'
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值