Python爬虫:逆向分析酷我音乐请求参数(支持SQ超品音质) |
您所在的位置:网站首页 › 酷我音乐的无损是真的吗 › Python爬虫:逆向分析酷我音乐请求参数(支持SQ超品音质) |
文章目录
前言1. 请求分析2. 获取参数3. 完整代码结束语
前言
免责声明: 本篇博文的初衷是分享自己学习逆向分析时的个人感悟,所涉及的内容仅供学习、交流,请勿将其用于非法用途!!!任何由此引发的法律纠纷均与作者本人无关,请自行负责!!! 版权声明: 未经作者本人授权,禁止转载!!!
按照惯例,我们先看一下音乐的URL参数,具体操作就不多说了,可以看我的专栏里其他音乐爬虫文章。 很轻易地就找到了,音乐链接包含在一个响应体内,JSON格式,通过这个链接就可以下载到相应的音乐。下面来看一下该响应对应的请求: 可以清楚地看到,请求方式为GET,下面通过PostMan来查看一下具体参数是什么意思: 经分析,必须参数有两个:rid表示歌曲的id,br表示比特率,说通俗点就是音质。那么,重点来了!!!
音乐URL参数已经知道是什么意思了,下面来找一下这个参数rid在哪,来到搜索页面:
像这种搜索结果,直接就出找带search或者key字样的链接,小技巧哦!!!
经过上述分析,都OK了,不过在实际的爬取过程中,由于搜索列表那个URL请求时需要重定向,其他的请求URL不需要,所以需要对请求头做一些略微的修改,具体修改方法可参阅代码。 # -*- coding: utf-8 -*- # @Time : 2021/5/16 22:41 # @Author : XiaYouRan # @Email : [email protected] # @File : music.py # @Software: PyCharm import time from hashlib import md5 import json import requests import re import os from urllib import parse def precess_time(func): def wrapper(*args): minutes, seconds = divmod(int(args[0]), 60) result = str(minutes).zfill(2) + ':' + str(seconds).zfill(2) return result return wrapper @precess_time def get_songtime(time_str): return time_str class KuWoMusic(object): def __init__(self): self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Cookie': '_ga=GA1.2.136730414.1610802835; _gid=GA1.2.80092114.1621072767; Hm_lvt_cdb524f' '42f0ce19b169a8071123a4797=1621072767; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797' '=1621073279; _gat=1; kw_token=C713RK6IJ8J', 'csrf': 'C713RK6IJ8J', 'Host': 'www.kuwo.cn', 'Referer': ''} def get_html(self, url, search_key=None): if 'rid' not in url: self.headers['Referer'] = 'http://www.kuwo.cn/search/list?key=' + search_key else: del self.headers['Referer'] del self.headers['csrf'] try: response = requests.get(url, headers=self.headers, verify=False) response.raise_for_status() response.encoding = 'utf-8' return response.text except Exception as err: print(err) return '请求异常' def parse_text(self, text): print('{:*^80}'.format('搜索结果如下')) print('{0:{5} |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |