自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (1)
  • 收藏
  • 关注

原创 网易云音乐UI界面

网易云音乐UI界面接着上期的网易云音乐搜索和下载,现在再添加一个功能。用pyqt5制作一个UI界面

2021-02-02 15:20:36 28612 3

原创 网易云音乐JS逆向

网易云音乐之JS逆向1. 文章目录2. 页面分析当我们用chrome浏览器 (推荐用谷歌) 进入网易云官网,找到一首你喜欢的歌。打开 f12 功能, 点击 XHR 过滤, 这个时候,我们点击播放, 在右侧就会重新捕获到新的网络请求,其中就包括我们需要的歌曲文件链接。就像这样。v1?csrf … 这个网址就是刚刷的, 在响应中可以看到,有个url,你复制打开,就可以直接播放, 我们点击一下headers看看怎么发送的。请求了request url , 用post发送, 下面有2个参数表单 p

2021-02-01 23:08:14 30458 9

原创 PyQt5 目录

PyQt5教程基础教程已经完结,综合篇实例将后续持续更新~~~此教程完全是和零基础的小白目录PyQt5 第一章 PyQt5简介和安装PyQt5 第二章 窗口布局管理(一)PyQt5 第二章 窗口布局管理(二)PyQt5 第二章 窗口布局管理(三)PyQt5 第三章 事件和信号(一)PyQt5 第三章 事件和信号(二)PyQt5 第四章 对话框(一)PyQt5 第四章 对话框(二)PyQt5 第五章 控件(一)PyQt5 第五章 控件(二)PyQt5 第五章 控件(三)PyQt5

2021-01-28 14:00:49 24096

原创 python dingding --- 钉钉机器人API

python dingding 钉钉机器人API,基于webhook开发。当前版本支持群机器人相关API调用,包括发送文本消息、文本链接、markdown、整体跳转 ActionCard、独立跳转 ActionCard、FeedCard。

2022-11-26 15:25:39 5403

原创 python wechat --- 企业微信机器人API

python企业微信机器人API库,支持群机器人相关API调用,包括发送文本消息、图片、markdown、文件、模板消息卡片、模板图片卡片。基于webhook开发,调用简单,文档详细易读...

2022-09-12 03:03:30 5900 3

原创 Windows10 迁移MySQL8.0的数据存放目录

Windows10 迁移MySQL8.0的数据存放目录mysql 数据库默认存放在:C:\ProgramData\MySQL\MySQL Server 8.0\Data 目录(注意:ProgramData 是个隐藏文件夹)将数据迁移到其他盼复步骤如下:1)复制 Data 文件夹:假如我们要将数据库文件迁移到 E:\MySQL8.0\ 文件夹中,需要将 C:\ProgramData\MySQL\MySQL Server 8.0\Data 原始的数据存放文件夹到 E:\MySQL8.0\ 文件夹中。2)

2022-05-20 23:38:27 1706

原创 【踩坑】requests 使用 IP 代理时 ValueError: check_hostname requires server_hostname

requests 使用 IP 代理时 ValueError: check_hostname requires server_hostname报错原因:urllib3 1.26.xx 版本库有 bug具体参见:https://github.com/urllib3/urllib3/issues/517解决办法:降低 urllib3 的版本:urllib3==1.25.7操作步骤:打开 cmd,卸载现在的 urllib3,安装 1.25.7 版本的 urllib3 即可解决。pip uninsta

2022-04-11 11:49:52 1133

原创 Ubuntu MongoDB 设置用户认证

Ubuntu MongoDB 设置用户认证查看 monggodb 版本:$ mongo -versionMongoDB shell version v3.6.8开启认证进入服务器的 etc 目录cd /etc编辑 mongodb.conf 文件sudo vim mongodb.conf把 auth 改为 trueauth = true重启 mongosudo service mongodb restart 关闭 / 启动sudo service mongodb stop

2021-12-02 23:38:39 1366

原创 ubuntu20.04 安装 mysql 8.0 数据库

ubuntu20.04 安装 mysql 数据库1.安装 mysql 数据库:sudo apt updatesudo apt install mysql-server安装完成之后,mysql 服务会自动启动。查看 mysql 是否正常运行:sudo systemctl status mysql输出如下结果,则说明 mysql 服务已径在正常运行mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system

2021-11-06 10:32:53 6811 1

原创 mysql 8.0 配置密码问题

mysql 8.0 配置密码问题问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirementsmysql8.0 配置了新的安全策略,所以配置密码的方式和 5.7 不一样修改参数:set global validate_password.policy=0;set global validate_password.length=1;修改密码:ALTER USER 'root'@'loc

2021-11-06 10:32:07 6470

原创 Ubuntu 配置 workon 命令

Ubuntu20.04 配置 workon 命令在 Ubuntu 中,我们可以配置 workon 命令来切换 python 虚拟环境第一步,更新 aptsudo apt update第二步,安装 virtualenv 和 virtualenvwrappersudo apt install python3-virtualenvsudo apt install python3-virtualenvwrapper第三步,配置 workon 命令1)找到 virtualenvwrapper.sh

2021-11-05 23:24:36 7481 1

原创 numpy 给力教程

数据神器 — numpy导入numpy库import numpy as np并查看numpy版本np.__version__'1.21.2'numpy ndarray n dimension array,ndarray不是真正的矩阵,一切皆矩阵一、创建ndarray1.由python list创建l = [1, 2, 3, 4]n = np.array(l)narray([1, 2, 3, 4])n[0] = 8narray([8, 2, 3, 4])注意:

2021-10-13 20:33:45 6335

原创 jupyter的使用

jupyter 的使用一、启动程序执行命令:jupyter notebook注意以下几点:打开地址为当前bash的目录,默认的根目录浏览器地址为 http://localhost:8888/通过control -C终止jupyter程序几个基本操作:DD:删除当前cellM:转为markdown文档markdown文档下运行变为预览模式二、IPython的帮助文档1. 使用help()通过help命令来获得帮助文档help(len)Help on built-in f

2021-10-13 20:30:48 6911

原创 pandas数据分析给力教程【完整版】(五)

pandas的拼接操作pandas的拼接分为两种:级联:pd.concat, pd.append合并:pd.mergeimport numpy as npimport pandas as pdfrom pandas import Series, DataFrameimport matplotlib.pyplot as plt0. 回顾numpy的级联============================================练习12:生成2个3*3的矩阵,对其分别进

2021-10-13 20:22:42 6479

原创 pandas数据分析给力教程【完整版】(四)

pandas层次化索引import numpy as npimport pandas as pdfrom pandas import Series, DataFrame1. 创建多层行索引1) 隐式构造最常见的方法是给DataFrame构造函数的index参数传递两个或更多的数组data = np.random.randint(0,150, size=(6,6))index = [['一班', '一班', '一班', '二班', '二班', '二班'], ['张三', '李四', '王五

2021-10-13 20:21:39 6583

原创 pandas数据分析给力教程【完整版】(三)

Pandas处理丢失数据有两种丢失数据:Nonenp.nan(NaN)1. NoneNone是Python自带的,其类型为python object。因此,None不能参与到任何计算中。object类型的运算要比int类型的运算慢得多计算不同数据类型求和时间%timeit np.arange(1e5,dtype=xxx).sum()2. np.nan(NaN)np.nan是浮点类型,能参与到计算中。但计算的结果总是NaN。但可以使用np.nan*()函数来计算nan,此时视na

2021-10-13 20:20:25 6296

原创 pandas数据分析给力教程【完整版】(七)

Pandas绘图Series和DataFrame都有一个用于生成各类图表的plot方法。默认情况下,它们所生成的是线形图线形图简单的Series图表示例,plot()import numpy as npimport pandas as pdfrom pandas import Series,DataFrameimport matplotlib.pyplot as plt%matplotlib inlineplot()线形图反映的是趋势.s = Series(data=np.ra

2021-10-13 19:50:48 6395

原创 pandas数据分析给力教程【完整版】(六)

import pandas as pdfrom pandas import Series,DataFrameimport numpy as nppandas数据处理1、删除重复元素def make_df(index, cols): df = DataFrame({col: [col + str(i) for i in index] for col in cols}) df.index = index return dfdf = make_df([1,2,3,4],

2021-10-13 19:46:23 6491

原创 pandas数据分析给力教程【完整版】(二)

Pandas数据加载pandas提供了一些用于将表格型数据读取为DataFrame对象的函数,期中read_csv和read_table这两个使用最多使用read_csv将其读入import pandas as pdfrom pandas import Series,DataFrameimport numpy as nppd.read_csv('./data/SMSSpamCollection', sep='\t', header=None) # separator 默认 是,

2021-10-13 19:31:08 8348

原创 pandas数据分析给力教程【完整版】(一)

Pandas的数据结构导入pandasfrom pandas import Series1、SeriesSeries是一种类似于一维数组的对象,由下面两个部分组成:values:一组数据(ndarray类型)index:相关的数据索引标签1)Series的创建两种创建方式:(1) 由列表或numpy数组创建,默认索引为0到N-1的整数型索引由列表创建l = [1,2,3,4,5]s = Series(l, index=list('abcde'))sa 1b

2021-10-13 19:19:55 6449

原创 Phantomjs 安装和环境配置

Phantomjs 安装和环境配置Phantomjs 是一个无界面的浏览器,引用 WebKit 内核引擎,我们在开发的过程中用它来执行 js 代码,它有和传统浏览器一样的效果,通常在 Python 中与 selenium 结合做自动化爬取,相对于有界面浏览器来说更节省资源。下载安装phantomjs 的下载地址是 http://phantomjs.org/download.html,如果是 window 环境下载 phantomjs-2.1.1-windows 版本下载好之后,将文件解压。配置环

2021-09-08 10:30:16 6917

原创 Python pip源

Python pip源用pip管理工具安装库文件时,默认使用国外的源文件,因此在国内的下载速度会比较慢,因此使用国内的镜像。其中,比较常用的国内镜像包括:阿里云:http://mirrors.aliyun.com/pypi/simple/豆瓣:http://pypi.douban.com/simple/清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/华中科

2021-03-04 18:51:02 23883 1

原创 PyQt5 第七章 综合篇(一)

7.1 俄罗斯方块游戏游戏有7个基本形状:S、Z、T、L、反向L、直线、方块,每个形状都由4个方块组成,方块最终都会落到屏幕底部。所以玩家通过控制形状的左右位置和旋转,让每个形状都以合适的位置落下,如果有一行全部被方块填充,这行就会消失,并且得分,游戏结束的条件是有形状接触到了屏幕顶部方块展示:代码由四个类组成:Tetris, Board, Tetrominoe和Shape。Tetris类创建游戏,Board是游戏主要逻辑。Tetrominoe包含了所有的砖块,Shape是所有砖块的代码可以用P键

2021-01-28 13:09:40 23349 2

原创 PyQt5 第六章 拖拽和绘画(一)

6.1 拖放一般情况下,我们可以拖放两种东西:数据和图形界面。把一个图像从一个应用拖放到另外一个应用上的实质是操作二进制数据;把一个表格从Firefox上拖放到另外一个位置的实质是操作一个图形组6.1.1 简单的拖放程序展示本例中,使用了QLineEdit和QPushButton。把一个文本从编辑框里拖到按钮上,更新按钮上的标签(文字)import sysfrom PyQt5.QtWidgets import QPushButton, QWidget, QLineEdit, QApplicati

2021-01-28 12:50:59 23369 4

原创 PyQt5 第六章 拖拽和绘画(二)

6.2 绘图PyQt5绘图系统能渲染矢量图像、位图图像和轮廓字体文本,绘图由paintEvent()方法完成,绘图的代码要放在QPainter对象的begin()和end()方法之间6.2.1 文本涂鸦程序展示本例中,展示了文本上下居中对齐的俄罗斯Cylliric语言的文字import sysfrom PyQt5.QtWidgets import QWidget, QApplicationfrom PyQt5.QtGui import QPainter, QColor, QFontfrom

2021-01-28 12:50:28 23424 1

原创 PyQt5 第六章 拖拽和绘画(三)

6.3.3 颜色颜色是一个物体显示的RGB的混合色,RBG值的范围是0255,定义颜色最常见的方式就是RGB和16进制表示法,也可以使用RGBA,增加了一个透明度的选项,透明度值的范围是01,0代表完全透明程序展示本例中,画三个颜色的矩形import sysfrom PyQt5.QtWidgets import QWidget, QApplicationfrom PyQt5.QtGui import QPainter, QColor, QBrushclass Example(QWidget

2021-01-28 12:50:01 23072 2

原创 PyQt5 第六章 拖拽和绘画(四)

6.3.5 笔刷QBrush也是图像的一个基本元素,用来填充一些物体的背景图,比如矩形,椭圆,多边形等。有三种类型:预定义、渐变和纹理程序展示本例中,画了9个不同的矩形import sysfrom PyQt5.QtWidgets import QWidget, QApplicationfrom PyQt5.QtGui import QPainter, QBrushfrom PyQt5.QtCore import Qtclass Example(QWidget): def __i

2021-01-28 12:49:34 23343

原创 PyQt5 第五章 控件(五)

5.8 自定义控件PyQt5有丰富的组件,但是肯定满足不了所有开发者的所有需求,PyQt5只提供了基本的组件,像按钮,文本,滑块等。如果你还需要其他的模块,应该自己去自定义自定义组件使用绘画工具创建,有两个基本方式:根据已有的创建或改进通过自己绘图创建程序展示本例中,我们使用了QSlider和一个自定义组件,由滑动进度条来控制。显示总容量和剩余容量。进度条的范围是1~750。如果值达到了700,就显示为红色import sysfrom PyQt5.QtWidgets import QWi

2021-01-27 20:29:03 22982

原创 PyQt5 第五章 控件(四)

5.6 分隔器QSplitter组件能让用户通过拖拽分割线的方式来改变子窗口大小程序展示本例中,创建了用两个分割线隔开的三个QFrame组件import sysfrom PyQt5.QtWidgets import QWidget, QHBoxLayout, QFramefrom PyQt5.QtWidgets import QSplitter, QStyleFactory, QApplicationfrom PyQt5.QtCore import Qtclass Example(QWid

2021-01-27 20:25:22 23125 3

原创 PyQt5 第五章 控件(三)

5.3 日历QCalendarWidget提供了基于月份的日历插件,十分简易而且直观程序展示本例中,有日期组件和标签组件组成,标签显示被选中的日期import sysfrom PyQt5.QtWidgets import QWidget, QCalendarWidget, QLabelfrom PyQt5.QtWidgets import QApplication, QVBoxLayoutfrom PyQt5.QtCore import QDateclass Example(QWidget

2021-01-27 20:18:09 22944 2

原创 PyQt5 第五章 控件(二)

5.2 滑块控件5.2.1 滑块程序展示本例中,用一个滑块和一个标签展示,滑块控制标签(的值)import sysfrom PyQt5.QtWidgets import QWidget, QSlider, QLabel, QApplicationfrom PyQt5.QtCore import Qtclass Example(QWidget): def __init__(self): super().__init__() self.label =

2021-01-27 20:06:55 23020

原创 PyQt5 第五章 控件(一)

5.1 按钮控件5.1.1 复选框QCheckBox组件有俩状态:开和关,通常跟标签一起使用,用在激活和关闭一些选项的场景程序展示本例中,有一个能切换窗口标题的单选框import sysfrom PyQt5.QtWidgets import QWidget, QApplication, QCheckBoxfrom PyQt5.QtCore import Qtclass Example(QWidget): def __init__(self): super().__

2021-01-27 19:58:05 23359 6

原创 PyQt5 第四章 对话框(二)

4.3 字体选择框QFontDialog提供了字体选择框程序展示本例中,创建了一个按钮和一个标签的QFontDialog的对话框,可以修改字体样式import sysfrom PyQt5.QtWidgets import QWidget, QApplication, QPushButton, QVBoxLayout, QFontDialog, QLabel, QSizePolicyclass Example(QWidget): def __init__(self):

2021-01-25 12:41:22 23086 3

原创 PyQt5 第四章 对话框(一)

对话框是现代GUI应用不可或缺的一部分,主要用来输入数据、修改数据、修改应用设置等等4.1 文字输入框QInputDialog提供了一个简单方便的对话框,可以输入字符串,数字或列表。程序展示本例中,创建一个按钮和一个输入框,点击按钮显示对话框,输入的文本会显示在输入框里import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QInputDialog, QPushButtonclass Example(QW

2021-01-25 12:36:39 23115

原创 PyQt5 第三章事件和信号(二)

3.2 信号发送程序展示本例中,发送自定义的信号,创建了一个叫closeApp的信号,这个信号会在鼠标按下的时候触发,事件与QMainWindow绑定import sysfrom PyQt5.QtCore import pyqtSignal, QObjectfrom PyQt5.QtWidgets import QMainWindow, QApplicationclass Communicate(QObject): closeApp = pyqtSignal()class Exa

2021-01-25 12:33:01 22909

原创 PyQt5 第三章 事件和信号(一)

3.1 事件所有的应用都是由事件驱动的,事件大部分都是由用户的行为产生的。调用应用的exec_()方法时,应用会进入主循环,主循环会监听和分发事件在事件模型中,分为三个角色:事件源:状态发生改变的对象(被点了的按钮)事件:对象状态改变的内容(点完按钮后会发生的事情)事件目标:事件想作用的目标(在哪里执行事件)事件源绑定事件处理函数,然后作用于事件目标身上PyQt5处理事件方面有个signal and slot机制,Signals and slots用于对象间的通讯。事件触发的时候,发生一个

2021-01-25 12:29:09 23330 1

原创 PyQt5 第二章 窗口布局管理(三)

2.3 菜单和工具栏这个章节,我们会创建状态栏、菜单和工具栏。菜单是一组位于菜单栏的命令。工具栏是应用的一些常用工具按钮。状态栏显示一些状态信息,通常在应用的底部。2.3.1 状态栏状态栏是用来显示应用的状态信息的组件,状态栏是由QMainWindow创建的程序展示本例中,创建一个状态栏import sysfrom PyQt5.QtWidgets import QMainWindow, QApplicationclass Example(QMainWindow): def __i

2021-01-24 15:12:41 23745 1

原创 PyQt5 第二章 窗口布局管理(二)

2.2 布局管理布局就是如何管理应用中的元素和窗口,有两种方式可以搞定:绝对定位和layout类2.2.1 绝对定位每个程序都是以像素为单位区分元素的位置,衡量元素的大小。所以我们完全可以使用绝对定位搞定每个元素和窗口的位置。但是这也有局限性:元素不会随着窗口的位置和大小变化而变化不能适用于不同的平台和不同分辨率的显示器更改应用字体大小会破坏布局如果重构这个应用,需要计算每个元素的位置和大小程序展示本例中,用绝对定位布局应用import sysfrom PyQt5.QtWidget

2021-01-24 14:59:41 23707

原创 PyQt5 第二章 窗口布局管理(一)

第二章 窗口布局管理2.1 基本功能2.1.1 简单的窗口程序展示本例中,展示一个小窗口import sysfrom PyQt5.QtWidgets import QApplication, QWidgetif __name__ == '__main__': app = QApplication(sys.argv) w = QWidget() w.resize(250, 150) w.move(300, 300) w.setWindowT

2021-01-24 14:50:38 24861 3

原创 PyQt5 第一章 PyQt5简介和安装

第一章 PyQt5简介和安装1.1 PyQt5 简介PyQt5是Digia的一套Qt5应用框架与python的结合,同时支持2.x和3.x。Qt库由Riverbank Computing开发,是最强大的GUI库之一官方网站PyQt5是由一系列Python模块组成,超过620个类,6000函数和方法。能在Unix、Windows和Mac OS等主流操作系统上运行。PyQt5有两种证书,GPL和商业证书PyQt5类分为很多模块,主要模块有:模块功能QtCore包含了核心的非GU

2021-01-23 21:17:30 32258 4

PyQt5图形界面教程

内附代码、解析,点单易懂,含有项目实例

2021-01-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除