基本信息
源码名称:免费在线音乐下载到本地试听
源码大小:8.94KB
文件格式:.py
开发语言:Python
更新时间:2024-09-01
   源码介绍
网罗在线音乐免费试听,部分会员歌曲免费试听60s,音乐全面且可以下载到本地,非常适合放松的时候听

def fetch_url(self, audio_id):

        timestamp = int(time.time() * 1000)

        print('audio_id:', audio_id)

        headers = {

            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0',

        }

        sign = self.MD5_sign(timestamp, audio_id)

        datas = {

            'srcappid': '2919',

            'clientver': '20000',

            'clienttime': timestamp,

            'mid': 'c4de83c1ebb2e73fc5ae95304a674918',

            'uuid': 'c4de83c1ebb2e73fc5ae95304a674918',

            'dfid': '3MmrUf3e5zpy3cStkN3Bn9oS',

            'appid': '1014',

            'platid': '4',

            'encode_album_audio_id': audio_id,

            'token': '483ef68936faa09268f3a42f7ab7ee31b584a3f155828a100c95fadf7c5ddd1e',

            'userid': '2078452878',

            'signature': sign,

        }

        response = requests.get(url='https://wwwapi.kugou.com/play/songinfo?', headers=headers, params=datas)

        jsurl = response.json()

        play_url = jsurl['data']['play_url']

        return play_url

    def audio_id_list(self, music_name):

        timestamp = int(time.time() * 1000)

        headers = {

            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0',

        }

        sign = self.MD5_sign_search(timestamp, music_name)

        datas = {

            'callback': 'callback123',

            'srcappid': '2919',

            'clientver': '1000',

            'clienttime': timestamp,

            'mid': 'c4de83c1ebb2e73fc5ae95304a674918',

            'uuid': 'c4de83c1ebb2e73fc5ae95304a674918',

            'dfid': '3MmrUf3e5zpy3cStkN3Bn9oS',

            'keyword': music_name,

            'page': '1',

            'pagesize': '30',

            'bitrate': '0',

            'isfuzzy': '0',

            'inputtype': '0',

            'platform': 'WebFilter',

            'userid': '2078452878',

            'iscorrection': '1',

            'privilege_filter': '0',

            'filter': '10',

            'token': '483ef68936faa09268f3a42f7ab7ee31b584a3f155828a100c95fadf7c5ddd1e',

            'appid': '1014',

            'signature': sign,

        }

        response = requests.get(url='https://complexsearch.kugou.com/v2/search/song?', headers=headers, params=datas)

        callback_dict = re.findall('callback123\((.*)\)', response.text)[0]

        jsurl = json.loads(callback_dict)

        music_list = []

        for item in jsurl['data']['lists']:

            file_name = item['FileName']

            emix_song_id = item['EMixSongID']

            music_list.append((file_name, emix_song_id))

        return music_list