吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4596|回复: 10
收起左侧

[Python 转载] 【网易云音乐爬取】输入下载链接,爬取音乐。

[复制链接]
guoqc3 发表于 2020-11-12 11:02
本帖最后由 guoqc3 于 2020-11-13 11:32 编辑

一个简单的爬取网易云的小程序。

#!usr/bin/env python
#-*- coding:utf-8 _*-
'''
@author:
@file: 爬取网易云.py
'''

import urllib
from urllib import request
import requests
import re
import threading
import tkinter
headers={
    "Host":"music.163.com",
    "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "Referer":"https://music.163.com/",
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5702.400 QQBrowser/10.2.1893.400",
}

def getMusic(musicList):
    musicId=musicList[0]
    musicname = musicList[1]
    musicUrl = "http://music.163.com/song/media/outer/url?id={}.mp3".format(musicId)
    # print(musicUrl)
    # url11 = "http://music.163.com/song/media/outer/url?id=436514312.mp3"
    req = urllib.request.Request(musicUrl)
    req.add_header('User-Agent', "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5702.400 QQBrowser/10.2.1893.400")
    res = urllib.request.urlopen(req).read()
    # res = urllib.request.urlopen(musicUrl).read()
    # print(res)
    with open('./歌曲/{}.mp3'.format(musicname), 'wb') as f:
        f.write(res)
    print(musicname+"下载完成")



def save_musci(musicname,id):
    musicUrl = "http://music.163.com/song/media/outer/url?id={}.mp3".format(id)
    with open('./歌曲/{}.mp3'.format(musicname), 'wb') as f:
        res = urllib.request.urlopen(musicUrl).read()
        f.write(res)
    var=musicname+"下载完成"
print(var)
    # t3.insert("end",var)

def get_musciId():
    try:
        url=musicUrl.get()
        yid3= '.*?id=(.*)$'
urlc3 = re.compile(yid3)
        num=urlc3.findall(url)[0]
        # print(num)
        musciId="https://music.163.com/artist?id={}".format(num)
        # print(musciId)
        respones=requests.get(url=musciId,headers=headers).content.decode("utf-8")
        yid = 'href=.*?id=([1-9][0-9]{4,})">(.*?)</a>'
urlc = re.compile(yid)
        musicId=urlc.findall(respones)
        tList=[]
        # getMusic(musicId[0])
        for i in musicId:
            # getMusic(i)
            t=threading.Thread(target=getMusic,args=(i,))
            tList.append(t)
            t.start()
        for t in tList:
            t.join()
    except  Exception as e:
        t3.insert("end","连接有误请确认")


if __name__=="__main__":
    win=tkinter.Tk()
    win.title("网易云音乐爬取")
    win.geometry("600x500+600+100")
    music_url=tkinter.Label(win,text='要下载歌手的连接:',width=50,font=('Arial',25))
    # e = tkinter.Entry(win,show=None)
    music_url.pack()
    musicUrl = tkinter.StringVar()
    entry_usr_name = tkinter.Entry(win,textvariable=musicUrl,width=40)
    entry_usr_name.pack()
    b1 = tkinter.Button(win,text='下载歌手全部歌曲',width=15,height=2,command=get_musciId)
    b1.pack()
    t3 = tkinter.Text(win,height=20)
    t3.pack()
    win.mainloop()

# url="http://music.163.com/api/song/lyric?id=449818741&lv=1&kv=1&tv=-1"







增加打包好的exe单文件,见下面百度云,注意和exe同目录需要有个img的文件夹,然后输入的网址是歌手的网址,例如张学友歌曲:https://music.163.com/#/artist?id=6460

链接:https://pan.baidu.com/s/1FmnONYziCHYfgX-abjwSlg
提取码:hz25
复制这段内容后打开百度网盘手机App,操作更方便哦
image.png

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
不怕黑的夜晚 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

之子之一 发表于 2020-11-12 19:27

不行啊,大佬
试了很多次
屏幕截图 2020-11-12 192553.png
2306 发表于 2020-11-12 22:50
 楼主| guoqc3 发表于 2020-11-13 11:25
之子之一 发表于 2020-11-12 19:27
不行啊,大佬
试了很多次

是指根据歌手进行下载歌曲,比如下载张学友的歌曲。你把这个连接黏贴进去试试。
https://music.163.com/#/artist?id=6460

我本地实测是可以的。
 楼主| guoqc3 发表于 2020-11-13 11:34
2306 发表于 2020-11-12 22:50
求大神提供小程序软件

打包好的单个exe文件已经发布,等待审核完成就可以看到,按照说明进行即可。
lei050804 发表于 2020-11-13 22:33
复制链接后,点击下载没有反应啊。是不是没有设置下载地址?
lei050804 发表于 2020-11-13 22:37
好了,歌曲在IMG里面
lei050804 发表于 2020-11-13 22:50
东西很好用,如果能爬虫歌单,就更赞了。试了下,歌单不行。
+12027988887 发表于 2020-11-14 21:57
过来凑个热闹 看看 好不好用
hshcompass 发表于 2020-11-16 15:33
强烈支持,感谢分享。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表