首页 » Web前端 » phpqq音乐api技巧_Python采集收费QQ音乐来听周董的说好不哭省3块不喷鼻香吗

phpqq音乐api技巧_Python采集收费QQ音乐来听周董的说好不哭省3块不喷鼻香吗

访客 2024-12-18 0

扫一扫用手机浏览

文章目录 [+]

windows

python3.6.5

phpqq音乐api技巧_Python采集收费QQ音乐来听周董的说好不哭省3块不喷鼻香吗

模块:

phpqq音乐api技巧_Python采集收费QQ音乐来听周董的说好不哭省3块不喷鼻香吗
(图片来自网络侵删)

requests

selenium

json

re

urllib

环境与模块先容完毕后,就可以来实施我们的操作了。

第1步:

通过一个解析网站:QQ音乐网站

我们可以创造,只须要在这里填写QQ音乐的地址,即可获取我们想要的音乐源文件。

第二步:

获取到QQ音乐的地址,打开我们的QQ音乐首页

通过源文件,我们可以创造里面并没有我们想要的数据:

那么,我们再来抓包剖析:

创造确实有我们想要的数据,但是当我们看到 headers报文当中的 url时,创造都是加密过后的数据!

以是涉及到了JS加密,那么 会有很多人觉得到很难,以是我们可以选择其余一个python模块selenium,直接获取我们的element 元素:

源代码为:

url=f'https://y.qq.com/portal/search.html#page=1&searchid=1&remoteplace=txt.yqq.top&t=song&w={name}'driver.get(url)

driver.implicitly_wait(10)

data=driver.find_element_by_xpath('//div[@class=\公众songlist__item\"大众]//span[@class=\"大众songlist__songname_txt\"大众]/a').get_attribute('href')

这里的url是通过大略剖析得到的结论,只须要修正w参数即可得到不同的音乐。

第三步

把我们渠道的data链策应用到我们的解析网站:QQ音乐网站

抓包剖析:

可以创造这个是一个post要求,然后我们的表单提交的数据,便是我们的QQ音乐地址!

第四步:

仿照访问这个post要求,拿到我们的返回数据:

headers = {

'Accept':'application/json, text/javascript, /; q=0.01',

'Accept-Encoding':'gzip, deflate',

'Accept-Language':'zh-CN,zh;q=0.9',

'Connection':'keep-alive',

'Content-Length':'65',

'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',

'Host':'www.douqq.com',

'Origin':'http://www.douqq.com',

'Referer':'http://www.douqq.com/qqmusic/',

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36',

'X-Requested-With':'XMLHttpRequest',

}

data = {'mid':'前面取到的音乐地址'}

url ='http://www.douqq.com/qqmusic/qqapi.php'req = requests.post(url, data=data, headers=headers).text

它的返回值:

可以创造MV对应的链接有偏差,不是一个规则的URL,以是在此可以进行数据精髓精辟,得到终极音乐链接:

req = json.loads(req)

req = req.replace('\/\/','//').replace('\/','/')

rg = re.compile('\"大众mp3_l\公众:\"大众(.?)\"大众,')

rs = re.findall(rg, req)[0]

第五步:

下载音乐:

urlretrieve(rs, name+'.mp3')

效果:

标签:

相关文章