• 大小: 0M
    文件类型: .py
    金币: 2
    下载: 1 次
    发布日期: 2021-08-29
  • 语言: Python
  • 标签: 其他  

资源简介

06_qqmusic_spider_songer_final.py

资源截图

代码片段和文件信息

import json

import requests


class QQMusic:
    def __init__(self singer):
        self.singer = singer
        self.tmp_singer_url = ‘https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.song&searchid=58393477745290472&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=10&w=‘ + self.singer + ‘&g_tk=5381&loginUin=249099&hostUin=0&platform=yqq.json&needNewCode=0‘

        self.guid = “3481851020“
        self.headers = {
            “Referer“: “https://y.qq.com/portal/player.html“
            “User-Agent“: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/76.0.3809.132 Safari/537.36“
        }
    # 获取歌手名
    def get_singer_url(self):
        return self.tmp_singer_url
    # 利用歌曲id获取歌曲链接
    def get_music_url(self songmid):
        return ‘https://u.y.qq.com/cgi-bin/musicu.fcg?data={“req_0“:{“module“:“vkey.GetVkeyServer““method“:“CgiGetVkey““param“:{“guid“:“‘ + self.guid + ‘““songmid“:[“‘ + songmid + ‘“]“songtype“:[0]“uin“:“27281729““loginflag“:1“platform“:“20“}}“comm“:{“uin“:“27281729““format“:“json““ct“:24“cv“:0}}‘
    # 获取指定url的响应内容
    def parse_url(self url):
        response = requests.get(url headers=self.headers)
        return response.content
    # 从响应内容获取歌曲的列表
    def get_song_url(self content):
        song_dict = json.loads(content.decode())
        sip = song_dict[“req_0“][“data“][“sip“][0] # http://ws.stream.qqmusic.qq.com/
        purl = song_dict[“req_0“][“data“][“midurlinfo“][0][“purl“]
        url = sip + 

评论

共有 条评论