淘宝背景音乐代码大全(淘宝背景音乐代码大全图片)

通过页面抓包分析后,最终编写代码并测试成功,记录一下直接上代码:importrequestsimportreif__name__=='__main__':headers={'Accept':'application/json,text/plain,*/*','Accept-Encodi

通过页面抓包分析后,最终编写代码并测试成功,记录一下

直接上代码:

import requests
import re
if __name__ == '__main__':
    headers = {
        'Accept':'application/json,text/plain,*/*',
        'Accept-Encoding': 'gzip,deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Connection': 'keep - alive',
        'Cookie':'Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1646119037; _ga=GA1.2.508252985.1646119039; _gid=GA1.2.547925733.1646119039; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1646120686; kw_token=SEBFCWA00YB',
        'csrf': 'SEBFCWA00YB',
        'Host': 'www.kuwo.cn',
        'Referer': 'http://www.kuwo.cn/search/list?key=%E5%AD%A4%E7%8B%AC%E7%9A%84%E4%BA%BA',
        'User-Agent':'User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
    }
    search_url = 'http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?'
    play_url = 'http://www.kuwo.cn/api/v1/www/music/playUrl?'
    key = input("请输入需要下载的歌曲名称:")
    param_1 = {
        'key':key,
        'httpsStatus': '1',
        'reqId': '76901a60-9933-11ec-9ae2-7558153549c6',
    }
    r = requests.get(url=search_url,params=param_1,headers=headers)
    print(r.status_code)
    r.encoding = 'utf-8'
    r_text = r.text
    print(r_text)
    obj = re.compile(r'musicrid.*?MUSIC_(?P<mid>.*?)",',re.S)
    result = obj.search(r_text)
    mid = result.group("mid")
    print(mid)
    param_play = {
        'mid': mid,
        'type': 'music',
        'httpsStatus': '1',
        'reqId': '490371a0-993d-11ec-b3dd-b3f050d56567',
    }
    r_down = requests.get(url=play_url,params=param_play,headers=headers)
    print(r_down.status_code)
    r_down.encoding = 'utf-8'
    r_down_text = r_down.text
    print(r_down_text)
    mp3_obj = re.compile(r'"url":"(?P<down_url>.*?)"}',re.S)
    down_result = mp3_obj.search(r_down_text)
    result_url = down_result.group("down_url")
    print(result_url,"下载地址已获取!")
    down_mp3 = requests.get(result_url)
    with open(f"mp3/{key}.mp3",mode="wb") as f:
        f.write(down_mp3.content)
    print("歌曲:{}      下载完成!".format(key))

通过这个代码实例的学习,可以掌握requests请求模块和re 正则表达式的使用方法。当然,分析这个过程会让新手受益匪浅,同时享受成功带来的欢乐。

这个代码中间过程也给打印了内容,方便自己学习的时候,可以同时分析这个下载过程。这个代码还可以进一步优化成用列表方式,批量下载歌曲。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1553299181@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.nhjkw.cn/58631.html