找回密码
 立即注册
搜索
热搜: Excel discuz
查看: 1257|回复: 0

酷我音乐下载

[复制链接]

482

主题

7万

元宝

75万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
750848
发表于 2021-6-12 20:48:54 | 显示全部楼层 |阅读模式
  1. '''
  2. 1.数据从哪里获取?  发送请求网站
  3. 2.获取目标网页数据  解析网址:    解析数据  ===音乐文件
  4. 3.下载保存
  5. '''
  6. import requests         # 发送请求
  7. import json             # json 解析数据
  8. import time
  9. import os


  10. if os.path.exists('酷我音乐'):
  11.     print()
  12. else:
  13.     os.mkdir('酷我音乐')

  14. def main():
  15.     singer = str(input('请输入歌手的名称:'))        # str 字符串
  16.     number = int(input('请输入要下载页数:'))        # int 整  型
  17.     for x in range(1,number+1):
  18.         # 该网站有反扒机制,要用模拟浏览器来进行伪装。
  19.         headers = {
  20.             'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36',
  21.             'Referer':'http://www.kuwo.cn/search/list?key=%E5%91%A8%E6%9D%B0%E4%BC%A6',
  22.             'csrf':'IV9C8YJA11',
  23.             'Cookie':'Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1603461123; _ga=GA1.2.716489643.1603461123; _gid=GA1.2.1633576714.1603461123; reqid=7c6c4c66X6a47X44a4Xa7b9X85072188ffb0; gtoken=QGWMzDK6SeQV; gid=b3d74f5a-564f-4b4d-be85-022e310107ec; _gat=1; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1603461216; kw_token=IV9C8YJA11'
  24.         }
  25.         # json 逆向解析api接口  音乐接口
  26.         url = 'http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?key={}&pn={}&rn=30&reqID=615ae920-2d21-11ea-b560-73e04c9f8018'.format(singer,x)
  27.         rest = requests.get(url,headers = headers)
  28.         result = json.loads(rest.text)
  29.         data = result['data']['list']
  30.         print(data)
  31.         for i in data:
  32.             # 音乐的ID
  33.             rid = i['rid']
  34.             # 音乐的名称
  35.             name = i['name']
  36.             # 爬取到指定歌手歌曲的音乐路径
  37.             url = 'http://www.kuwo.cn/url?format=mp3&rid={}&response=url&type=convert_url3&br=128kmp3&from=web&t=1577081015618&reqID=f4af2221-2549-11ea-92dc-b1e779c8d1d6'.format(rid)
  38.             result = requests.get(url, headers=headers)#.json()
  39.             print(result.text)
  40.             result=result.json()
  41.             # 音乐路径
  42.             music_url = result['url']
  43.             time.sleep(2)
  44.             # 下载音乐
  45.             with open('酷我音乐/{}.mp3'.format(name),'wb') as f:
  46.                 music = requests.get(music_url, headers=headers)    # 获取音乐文件
  47.                 time.sleep(2)
  48.                 f.write(music.content)                              # 转格式
  49.                 f.close()
  50.                 print('\t下载完成')


  51. main()

复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五花八门论坛 ( 豫ICP备15031300号-3 )

GMT+8, 2024-4-20 20:03 , Processed in 0.106339 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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