python网易云音乐下载打包exe文件,Windows可运行

下载原理:

通过官方的下载链接http://music.163.com/song/media/outer/url?id=歌曲id.mp3,
分析网页寻找歌曲id组装成song_url,urlretrieve(song_url, path)下载歌曲,
用pyinstaller将程序打包,脱离python环境Windows可运行

程序环境

  • python3.0以上解释器
  • pycharm编辑器(编辑器无所谓,能写代码就可以)

代码实现

import requests, json, base64

from binascii import hexlify

# Windows安装注crypto有坑,新手建议先去Linux实现代码功能
from Crypto.Cipher import AES

from tkinter import *

# urlretrieve优点只用传入url和下载路径就可以实现下载
from urllib.request import urlretrieve
import os


class Encrypyed():
    '''传入歌曲的ID,加密生成'params'、'encSecKey 返回'''

    def __init__(self):
        self.pub_key = '010001'
        self.modulus = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7'
        self.nonce = '0CoJUm6Qyw8W8jud'

    def create_secret_key(self, size):
        return hexlify(os.urandom(size))[:16].decode('utf-8')

    def aes_encrypt(self, text, key):
        iv = '0102030405060708'
        pad = 16 - len(text) % 16
        text = text + pad * chr(pad)
        encryptor = AES.new(key, AES.MODE_CBC, iv)
        result = encryptor.encrypt(text)
        result_str = base64.b64encode(result).decode('utf-8')
        return result_str

    def rsa_encrpt(self, text, pubKey, modulus):
        text = text[::-1]
        rs = pow(int(hexlify(text.encode('utf-8')
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值