代码编织梦想

在这里插入图片描述

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/12/12 10:00
# @Author  : huni
# @File    : 酷狗音乐.py
# @Software: PyCharm
import requests
import warnings
import json
from urllib import parse
warnings.filterwarnings('ignore')
if __name__ == '__main__':
    headers = {
        'referer': 'https://www.kugou.com/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36'
    }
    url = f'https://complexsearch.kugou.com/v2/search/song?callback=callback123&keyword=%E6%97%A9%E6%99%9A&page=1' \
          f'&pagesize=30&bitrate=0&isfuzzy=0&tag=em&inputtype=0&platform=WebFilter&userid=-1&clientver=2000&iscorrection=1&privilege_filter=0&srcappid=2919&clienttime=1607743429898&mid=1607743429898&uuid=1607743429898&dfid=-&signature=ED386B5C3766E47D47F1252AED823A0F'
    resp = requests.get(url=url, headers=headers).text[12:-2]
    jd = json.loads(resp)  # 字符串转字典
    for i in jd['data']['lists']:
        a = i['FileHash']
        b = i['AlbumID']
        url1 = f'https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback' \
              f'=jQuery19108991040761831859_1607742705511&hash=' \
              f'{a}&dfid=334lgQ3gvzHD1503TJ1eRVym&mid=449fc6a9349f6b64fc0d58efab406b8d&platid=4&album_id' \
               f'={b}&_=1607742705512'
        resp1 = requests.get(url=url1,headers=headers).text[41:-2]
        jd1 = json.loads(resp1)       # 字符串转字典
        print('歌名',jd1['data']['audio_name'])
        print('专辑名',jd1['data']['album_name'])
        print('歌曲链接',jd1['data']['play_url'])

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/m0_50944918/article/details/111059243

用tkinter实现BMI计算-爱代码爱编程

import tkinter import tkinter.messagebox root = tkinter.Tk() root.title('BMI计算器') root.geometry('400x400') bmi = tkinter.StringVar() label = tkinter.Label(root,text='BMI判断') l

python实验命令行常用操作-爱代码爱编程

conda activate base conda deactivate conda activate web_crawler conda deactivate conda activate pytorch_1_2_0_cu100 conda deactivate conda activate pytorch_1_5_1_cu101 conda de

小福利,Python制作技术功效矩阵图-爱代码爱编程

小福利,Python制作技术功效矩阵图 #--coding:utf-8-- import numpy as np #导入python的数值计算扩展包numpy,并重命名为np import matplotlib.pyplot as plt #导入Python的绘图扩展包matplotlib,并重新命名为plt import pandas as pd

算法题:存在重复元素-爱代码爱编程

算法题:存在重复元素 题目描述示例python代码执行效率 题目描述 给定一个整数数组,判断是否存在重复元素。 如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 示例 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4] 输出: fa

第05章 平面钢架结构的深入分析(铰链支撑、完全固定、滚动铰链支撑)-爱代码爱编程

第05章 平面钢架结构的深入分析(铰链支撑、完全固定、滚动铰链支撑) 本节对行架做三个固定情况的分析: 1为两端固定 2为两端铰支撑 3为一端铰支撑、另一端滚动铰支撑。 情况1:两端固定 第一步,打开静力学模型: 第二步,建立模型: 打开DM 绘制一个三角形。 三角形三边长为1m 最终画成这样

[Python] argparse处理多个功能和不同的多参数-爱代码爱编程

0. 前情提要 我想要使Python脚本能处理多个功能,每个功能都有多个不同的参数,就像git一样: $ git add -h usage: git add [<options>] [--] <pathspec>... -n, --dry-run dry run -v, --verbose

模糊查询——MongoDB-爱代码爱编程

MongoDB的模糊查询是使用正则匹配实现:关键操作符**$regex** 1.MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式。 2.MongoDB使用PCRE (Perl Compatible Regular Expression) 作为正则表达式语言。 当要实现MongoDB的document中某字段内容模糊查询时,可以在

Apache Struts 修复 OGNL 技术中可能存在的 RCE 缺陷-爱代码爱编程

 聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 Apache 软件基金会发布 Struts 2 安全更新,修复了一个和 OGNL 技术相关的“很可能存在的远程代码执行“缺陷。 Apache Struts 作为开源的 MVC Web 应用框架,可使开发人员构建 Java 应用,一直以来受到多个严重漏洞的影响,而其中很多漏洞和

C语言 -- 字符串中根据特定字符(串)分割-爱代码爱编程

版权 C语言字符串操作函数有很多,这里举出需要用到的,其他请自行查找。 1、len = strlen(p) ;//取字符串长度  原型:size_t strlen(const char *s);  功能:统计字符串string

Recursion, Regular Expressions, BNF(Backus-Naur Form grammar) and use of MAP-爱代码爱编程

Recursion, Regular Expressions, BNF(Backus-Naur Form grammar) and use of MAP 新开了一门外教课程,Object-oriented Programming(JAVA), 记录一些学习经验,以及部分和c++的区别感悟。 本文主要有三部分: 递归的interesting po

Python 基础篇+提高篇+笔记-爱代码爱编程

01第零回(免费预览)莫叹琐事催白发,且学Python省年华.mp4 02第一回(免费预览)梧桐长成鸾凤至,环境搭好代码来.mp4 03第二回(免费预览)算术符号遵循惯例,版本差异务必当心.mp4 04第三回(免费预览)单条语句独占单行代码,多种函数分属多个模块.mp 05第四回:变量命名须知种种惯例,数据存储要靠层层关联.mp4 06第五回:文章无非字符

剑指Offer 19. 正则表达式匹配(Hard)-爱代码爱编程

44. 通配符匹配(Hard)【题目链接】题解 正则表达式匹配(动态规划,清晰图解)字节题库 - #剑19 - 困难 - 正则表达式匹配思路 代码 class Solution: ### 1211 动态规划(68 ms,14.8 MB) def isMatch(self, s: str, p: str) -> bool: