数学建模社区-数学中国
标题:
python爬虫爬取网易云音乐——完整代码
[打印本页]
作者:
1440359316
时间:
2021-7-8 17:10
标题:
python爬虫爬取网易云音乐——完整代码
原码地址:https://blog.csdn.net/qq_52660776/article/details/113894782?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162569855116780274142448%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162569855116780274142448&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-3-113894782.pc_search_result_before_js&utm_term=python%E7%88%AC%E8%99%AB&spm=1018.2226.3001.4187
二话不说,就是——上代码;(如果有用,给个三连中不中)
# -*- codeing = utf-8 -*-
#
@time
: 2021/2/20 16:12
#
@Author
: 老七疯狂吸氧
#
@FILE
kowyy.py
# @Software
yCharm
import re
import requests
import os
import time
headers = {
'User-Agent': 'Chrome/10'
}
def main():
print('例如:罗大佑的网址是:https://music.163.com/#/artist?id=3686','\n','ID就是:3686')
ID=input("请输入歌手ID:")
url='https://music.163.com/artist?id='+ID
html=requests.get(url,headers).text
get_id(html)
def get_id(html):
findlink=re.compile(r'<a href="/song\?id=(\d*)">(.*?)</a></li><li>')
findname=re.compile(r'<h2 id="artist-name" data-rid=\d* class="sname f-thide sname-max" title=".*?">(.*?)</h2>')
singername=re.findall(findname,html)[0]
creat(singername)
ll=re.findall(findlink,html)
for i in ll:
savemusic(i[1],i[0])
time.sleep(0.5)
def creat(singername): #创建文件夹
if not os.path.exists(singername):
os.mkdir(singername) # 如果该目录不存在就创建它
os.chdir(singername)
def savemusic(name,id): #保存文件
url='http://music.163.com/song/media/outer/url?id='+id+'.mp3'
with open(name+'.m4a','wb') as f:
print('歌曲《',name,'》 下载中***************')
f.write(requests.get(url=url,headers=headers).content)
f.close()
print("《",name,"》下载完成")
print('')
if __name__ == '__main__':
main()
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5