python爬取qq音乐

本文介绍了如何使用Python分析QQ音乐的网页接口,从搜索歌曲到获取播放地址的过程。通过开发者工具发现了搜索接口和播放接口,并解析了获取songmid的方法,为实现音乐播放功能奠定了基础。需要注意的是,这些接口可能会失效,需要定期更新分析。
摘要由CSDN通过智能技术生成

爬取网页版的音乐可以使用抓包工具也可以直接使用谷歌浏览器的开发者调试工具分析地址

下面使用开发者调试工具分析数据

从搜索开始随便输入一个歌曲名到搜索框

 

可以看到有很多请求,一般我们需要的都是ajax请求所以切换到XHR选项:

会有很多请求,一般请求以json数据返回

寻找返回的json数据

挨个点一下看看response或者preview一般来说返回的json数据都比较多的才能获取到有用的信息,

 

这条返回的比较长复制链接打开看看

 

经过分心没有有用的信息,经过一番分析找到了这个链接:https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.song&searchid=70950360097159007&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=10&w=%E8%99%9A%E8%99%9A%E5%AE%9E%E5%AE%9E&g_tk=5381&loginUin=1043619528&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8&notice=0&platform=yqq.json&needNewCode=0

 

 

里面有音乐的一些参数正是需要的

来分析下这个链接

 

其他参数经过尝试都是固定的

打开详细页面

 

找到如下又有效地址:

歌词地址:https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric_yqq.fcg?nobase64=1&musicid=110532&-=jsonp1&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8&notice=0&platform=yqq.json&needNewCode=0

复制后打开出现如下报错:

 

试试用python模拟请求看看

可以打开:

模拟请求代码:

 

import requests
import ssl
ssl_context = ssl._create_unverified_context
def get_request(url):
    header = {
                'Connection': "keep-alive",
                'Pragma': "no-cache",
                'Cache-Control': "no-cache",
                'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) "
                              "Chrome/72.0.3626.119 Safari/537.36",
                'Accept': "*/*",
                'Referer': url,
                'A
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值