随机森林模型

import requests
import json
import prettytable as pt


headers = {
    'Cookie': 'pgv_pvid=4227223875; RK=Y0TkAmcewt; ptcz=3a828bb1418fef564dd446864d5d7e6c7562128b5d68f825b464081becb8864e; fqm_pvqid=36f3d133-a426-438a-83d0-1821e340c527; ts_uid=5469654834; LW_uid=Y1L6P2C7r3S822W8D1s1v5N7n8; eas_sid=61d6w2q7A3f8d2Y8J1W1d5X8z3; Qs_lvt_323937=1627382806%2C1628862589; Qs_pv_323937=1419504452504244200%2C153728413586928030; LW_sid=v156O2D9Z121j1k3e0t2a1J5N4; ied_qq=o3421355804; ptui_loginuin=1321228067; _gcl_au=1.1.1508020928.1629704849; pt_235db4a7=uid=ZQvkc6mgZ/IgqUlIz0-9/A&nid=1&vid=-52PpDj4Jxm4Azg-ojxaMw&vn=1&pvn=1&sact=1629704849033&to_flag=0&pl=0KzaISwJA-wYoyVB1nkjpQ*pt*1629704849033; _ga=GA1.2.129533475.1629704849; tmeLoginType=2; pac_uid=1_321228067; iip=0; tvfe_boss_uuid=bb9075b919981d3a; o_cookie=1321228067; fqm_sessionid=cdf92536-8796-42d8-b3df-a5dd1f7ed779; pgv_info=ssid=s8544727808; ts_refer=ADTAGmyqq; _qpsvr_localtk=0.485361667619747; login_type=1; qm_keyst=Q_H_L_24HXk560eyZgA931iPUTiWoSp_xP9wMRpYW0s8WgQWUrkjK_o_ZV6jE8WdjBBU3; qqmusic_key=Q_H_L_24HXk560eyZgA931iPUTiWoSp_xP9wMRpYW0s8WgQWUrkjK_o_ZV6jE8WdjBBU3; wxunionid=; wxopenid=; psrf_qqunionid=FAEE1B5B10434CF5562642FABE749AB9; psrf_qqrefresh_token=309E71065899568052CD8433ECBED69C; wxrefresh_token=; psrf_musickey_createtime=1634632977; uin=1321228067; euin=oKoAoK-ANens7z**; psrf_qqaccess_token=098E5A5A88BFCFF2513A0D2AC9C09C9F; psrf_qqopenid=4F37937E43ECA9EAB02F9E89BE1860E2; psrf_access_token_expiresAt=1642408977; qm_keyst=Q_H_L_24HXk560eyZgA931iPUTiWoSp_xP9wMRpYW0s8WgQWUrkjK_o_ZV6jE8WdjBBU3; ts_last=y.qq.com/n/ryqq/search',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'
}


"""搜索功能"""
music_info_list = []
name = input('请输入歌手或歌曲:')  # input函数 输入 做用户交互 使用的
# 1. 发送请求 向第一个接口发送网络请求
url = f'https://c.y.qq.com/soso/fcgi-bin/client_search_cp?p=1&n=10&w={name}'
# print(url)
response = requests.get(url, headers=headers).text  # 获取到的是字符串
# 2. 获取数据 获取所有歌曲信息数据
# 将response切分成json格式 类似字典 但是现在还是字符串
music_json = response[9:-1]
# 字符串转字典
music_data = json.loads(music_json) 
tb = pt.PrettyTable()
tb.field_names = ['序号', '歌名', '歌手', '专辑']
music_list = music_data['data']['song']['list']
count = 0
for music in music_list:
    song_name = music['songname']  # 歌曲的名字
    singer_name = music['singer'][0]['name']  # 歌手的名字
    song_mid = music['songmid']  # 歌曲mid
    album_name = music['albumname']     # 专辑名称

    # 4. 格式化输出
    tb.add_row([count, song_name, singer_name, album_name])
    # 将音乐信息存储在 列表当中
    music_info_list.append([song_name, singer_name, song_mid])
    count += 1
print(tb)
while True:
    input_index = eval(input("请输入要下载歌曲的序号(-1退出): "))
    if input_index == -1:
        break
    download_info = music_info_list[input_index]
    # 音乐接口
    music_info_url = 'https://u.y.qq.com/cgi-bin/musicu.fcg?data={"req":{"module":"CDN.SrfCdnDispatchServer","method":"GetCdnDispatch", "filename":"M800","param":{"guid":"8846039534","calltype":0,"userip":""}},"req_0":{"module":"vkey.GetVkeyServer","method":"CgiGetVkey","filename":"M800","param":{"guid":"8846039534","songmid":["%s"],"songtype":[0],"uin":"1152921504784213523","loginflag":1,"platform":"20"}},"comm":{"uin":"1152921504784213523","format":"json","ct":24,"cv":0}}' % download_info[2]
    response_1 = requests.get(music_info_url, headers=headers).json()
    purl = response_1['req_0']['data']['midurlinfo'][0]['purl']
    full_media_url = 'http://dl.stream.qqmusic.qq.com/' + purl
    music_data = requests.get(full_media_url, headers=headers).content
    with open(f'{download_info[0]}-{download_info[1]}.mp3', mode='wb') as f:
        f.write(music_data)
        print(f'{download_info[0]}', '下载完成!!!')

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值