青岛做网站大公司,wordpress 翻译制作,网站服务器崩溃影响,wordpress建站教程网目录#xff1a; 1.简介怎样实现下载QQ音乐的过程#xff1b; 2.代码 1.下载QQ音乐的过程
首先我们先来到QQ音乐的官网#xff1a; https://y.qq.com/#xff0c;在搜索栏上输入一首歌曲的名称#xff1b;
如我在上输入最美的期待#xff0c;按回车来到这个画面 我们首…
目录 1.简介怎样实现下载QQ音乐的过程 2.代码 1.下载QQ音乐的过程
首先我们先来到QQ音乐的官网 https://y.qq.com/在搜索栏上输入一首歌曲的名称
如我在上输入最美的期待按回车来到这个画面 我们首先要得到这些歌曲名称和其他一些信息
鼠标右键查看源代码发现这些数据应该应用了反爬虫
鼠标右键点击检查点击NetWork然后点击XHR,按F5刷新然后点击 https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct24qqmusic_ver1298new_json1remoteplacetxt.yqq.songsearchid66920929169890801t0aggr1cr1catZhida1lossless0flag_qc0p1n10w%E6%9C%80%E7%BE%8E%E7%9A%84%E6%9C%9F%E5%BE%85g_tk5381loginUin0hostUin0formatjsoninCharsetutf8outCharsetutf-8notice0platformyqq.jsonneedNewCode0这个网址如下图 发现这里好像有我们需要的数据 那么这个网址要怎样才能得到呢其实也不难发现就下面的那个w不同而已对于不同歌曲。 而这个w后面的那个数据好像就是我输入的歌曲名最美的期待只不过这里对于这个进行了编码罢了。
我们只要这样输入就可以了
from urllib import parse
wparse.urlencode({w:input(输入歌名:)})
urlhttps://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct24qqmusic_ver1298new_json1remoteplacetxt.yqq.songsearchid63229658163010696t0aggr1cr1catZhida1lossless0flag_qc0p1n10%sg_tk5381loginUin0hostUin0formatjsoninCharsetutf8outCharsetutf-8notice0platformyqq.jsonneedNewCode0%(w)
print(url)
这样我们就得到了这个url
这样得到的数据是一个字符串这个字符串类似‘{key:{key_1:1}}’,我们可以导入json模块来处理它这样我们得到的数据就是一个字典了。
我们点击其中的一首歌试听来到这个界面 右击鼠标点击检查点击NetWork,点击XHR找到下面这个网址发现 在这里我们可以发现有这首歌曲的下载地址发现purl下面的一个参数是上面得到的那个数据中的’mid‘只要将两者结合起来就可以下载这首歌曲了。
代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 emstrongbrimport urllib.parse as parse from urllib.request import urlretrieve import requests import json import os import time import sys def Time_1(): # 进度条函数 for i in range(1,51): sys.stdout.write(\r) sys.stdout.write({0}% |{1}.format(int(i%51)*2,int(i%51)*■)) sys.stdout.flush() time.sleep(0.125) sys.stdout.write(\n) print( 声明本小程序仅供娱乐和学习切莫用于商业用途一经发现概不负责 ) wparse.urlencode({w:input(输入歌名:)}) urlhttps://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct24qqmusic_ver1298new_json1remoteplacetxt.yqq.songsearchid63229658163010696t0aggr1cr1catZhida1lossless0flag_qc0p1n10%sg_tk5381loginUin0hostUin0formatjsoninCharsetutf8outCharsetutf-8notice0platformyqq.jsonneedNewCode0%(w) contentrequests.get(urlurl) str_1content.text dict_1json.loads(str_1) song_listdict_1[data][song][list] str_3https://u.y.qq.com/cgi-bin/musicu.fcg?-getplaysongvkey5559460738919986g_tk5381loginUin0hostUin0formatjsoninCharsetutf8outCharsetutf-8notice0platformyqq.jsonneedNewCode0data{req:{module:CDN.SrfCdnDispatchServer,method:GetCdnDispatch,param:{guid:1825194589,calltype:0,userip:}},req_0:{module:vkey.GetVkeyServer,method:CgiGetVkey,param:{guid:1825194589,songmid:[%s],songtype:[0],uin:0,loginflag:1,platform:20}},comm:{uin:0,format:json,ct:24,cv:0}} url_list[] music_name[] for i in range(len(song_list)): music_name.append(song_list[i][name]-song_list[i][singer][0][name]) print({}.{}-{}.format(i1,song_list[i][name],song_list[i][singer][0][name])) url_list.append(str_3 % (song_list[i][mid])) idint(input(请输入你想下载的音乐序号:)) content_jsonrequests.get(urlurl_list[id-1]) dict_2json.loads(content_json.text) url_ipdict_2[req][data][freeflowsip][1] purldict_2[req_0][data][midurlinfo][0][purl] downladurl_ippurl try: os.mkdir(./QQ音乐) except: pass finally: try: print(开始下载...) urlretrieve(urldownlad,filename./QQ音乐/{}.mp3.format(music_name[id-1])) Time_1() print({}.mp3下载完成.format(music_name[id-1])) except Exception as e: print(e,对不起你没有该歌曲的版权)br /strong/em 运行结果 下载完成后会在同一个文件下面多了一个QQ音乐的文件夹所下载的歌曲就在这里面。 最后如果你对Python感兴趣想要学习Python希望可以帮到你一起加油以上是给大家分享的Python全套学习资料都是我自己学习时整理的
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理形成各个领域的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。 二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了还有环境配置的教程给大家节省了很多时间。 三、全套PDF电子书
书籍的好处就在于权威和体系健全刚开始学习的时候你可以只看视频或者听某个人讲课但等你学完之后你觉得你掌握了这时候建议还是得去看一下书籍看权威技术书籍也是每个程序员必经之路。 四、入门学习视频全套
我们在看视频学习的时候不能光动眼动脑不动手比较科学的学习方法是在理解之后运用它们这时候练手项目就很适合了。 五、实战案例 光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。 **学习资源已打包需要的小伙伴可以戳这里【学习资料】