自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 收藏
  • 关注

转载 chrome插件扩展脚本开发03

01_插件文件、类型介绍02_消息通信JS:二、动态注入CSS示例配置:JS代码:三、获取当前窗口ID四、获取当前标签页ID方法一:方法二:大部分时候都类似,只有少部分时候会不一样(例如当窗口最小化时)五、本地存储本地存储建议用而不是普通的,区别有好几点,个人认为最重要的2点区别是:是针对插件全局的,即使你在中保存的数据,在也能获取到;可以跟随当前登录用户自动同步,这台电脑修改的设置会自动同步到其它电脑,很方便,如果没有登录或者未联网则先保存到

2024-02-20 16:02:38 73

转载 chrome插件扩展脚本开发02

前面我们介绍了Chrome插件中存在的5种JS,那么它们之间如何互相通信呢?下面先来系统概况一下,然后再分类细说。需要知道的是,popup和background其实几乎可以视为一种东西,因为它们可访问的API都一样、通信机制一样、都可以跨域。popup可以直接调用background中的JS方法,也可以直接访问background的DOM// background.jsalert('我是background!');bg.test();// 访问bg的函数// 访问bg的DOM。

2024-02-20 11:09:30 104

转载 chrome插件扩展脚本开发01

最近接了个爬数据的项目,爬某大站,但爬取量小且不要求速度,寻思不如研究这个路线应该稳定得多,之后可能还会做成面向个人的小工具(已经临阵磨枪做了一个简单的,这里准备系统化研究下做个像样点的)这是一个Chrome插件最重要也是必不可少的文件,用来配置所有和插件相关的配置,必须放在根目录。其中,nameversion3个是必不可少的,和icons是推荐的。常见配置如下,全部配置看这里👉// 清单文件的版本,这个必须写,而且必须是2// 插件的名称// 插件的版本// 插件描述。

2024-02-19 18:25:33 61

原创 JS逆向手记01__前端基础

会带着记录些反爬相关的前端基础。js真麻烦。

2024-02-12 20:00:11 1153

转载 python openpyxl 读取合并单元格的值

python使用openpyxl读取合并单元格的值

2022-08-30 16:29:40 4776 2

原创 selenium + pillow 通过元素截图出现错位

原因与解决方法windows电脑调过缩放与布局,方法一:将缩放比调回100%但这样会影响用户的使用体验,没准人家不用200%的缩放会死呢方法二:我们需要设置浏览器缩放:# 如缩放为200%时driver.execute_script('document.body.style.zoom="0.5"')获取电脑缩放比from win32 import win32api, win32gui, win32printfrom win32.lib import win32confrom win

2021-08-03 09:52:04 483

原创 爬了个小虫

爬了个小虫requests零之简介一之GET请求请求头的User-Agent字段伪装成浏览器,并用urlencode将中文转码放入get请求但实际上可以用params参数一并完成转码(requests封装的urlencode)url编码解码用unquoteGET的header参数=>各种请求头GET的cookies参数二之POST请求对比GET、POST发送post请求,模拟浏览器的登录行为requests.session()自动保存cookie请求体中url编码格式与json格式三之响应Respon

2021-03-11 21:40:58 566 1

原创 Luffy - 前台首页+轮播图

前台首页+轮播图一:首页搭建0. 根组件1. 小组件① `src/components`新建`Header.vue`② `src/components`新建`Footer.vue`2. 页面组件① `src/views`新建`ActualCourse.vue`② `src/views`新建`FreeCourse.vue`③ `src/views`新建`LightCourse.vue`④ `src/views`修改`Home.vue`3. 路由4. 效果展示二:轮播图1. 后台① `LuffyAPI/util

2020-12-25 20:28:28 346

原创 Luffy - Xadmin的使用

Xadmin的使用一:使用Xadmin1. 安装`xamdin`模块2. 在`dev.py`中注册`APP`3. 设置主路由替换掉admin:根路径的`urls.py`4. `apps/home`新建`adminx.py`5. 执行数据迁移6. 浏览器中查看:[http://127.0.0.1:8000/xadmin](http://127.0.0.1:8000/xadmin)一:使用Xadmin公司项目,一般都是有前台(主站)和后台(Xadmin)的前台后台≠前端后端,前后台可以用不同的语言来编

2020-12-25 08:26:24 242

原创 Luffy - 解决跨域问题

Luffy - 解决跨域问题一:跨域请求0. 跨域问题的出现1.同源策略① 简介2. CORS(跨域资源共享)简介3. `CORS`基本流程4. 解决跨域问题的3种方法5. `CORS`两种请求详解6. 浏览器对这两种请求的处理,是不一样的二:解决跨域问题(服务端)【简单请求】1. 原Django项目:`apps/user/views.py`2. 原Django项目:`apps/user/urls.py`3. 原Django项目:`dev.py`中注释掉`CSRF`4. 再创建1个Django项目(用另外的

2020-12-24 03:03:54 572

原创 Luffy - 后台配置

后台配置一:配置`media`目录1. 目录结构(新增了`media`)2. 在`LuffyAPI/LuffyAPI`下新建`media`文件夹3. `settings/dev.py`中添加二:创建、配置User表1. 安装`pillow`模块2. 创建User表对应的model3. `settings/dev.py`中添加如下代码4. 数据迁移三:配置基本路由1. **根路由`LuffyAPI/LuffyAPI/urls.py`**四:自定义配置1. 自定义全局异常① `utils`下创建`excepti

2020-12-23 20:58:10 187

原创 Luffy - 前台搭建

Luffy - 前台搭建一:创建项目二:配置1. 目录结构2. 文件解析① `App.vue`(初始)② `src/router/index.js`(初始)③ `src/main.js`3. 目录配置4. 安装、导入配置① 配置全局初始化`CSS`样式② `Axios` - 用于前后端交互③ `vue-cookies`④ `Element UI` - 饿了么团队开发的 1个好看的基于`Vue的UI`⑤ `JQuery`⑥ `popper.js`⑦ `Bootstrap`⑧ 配置全局自定义设置5. 整体`ma

2020-12-23 20:33:30 187

原创 luffy项目 - 后台搭建

一:环境准备pip换源http://www.xuexianqi.top/archives/275.html创建虚拟环境http://www.xuexianqi.top/archives/126.htmlpip导入、导出第三方依赖包http://www.xuexianqi.top/archives/277.html二:项目构建1. 虚拟环境 和 依赖准备① 创建虚拟环境LuffyAPImkvirtualenv LuffyAPI② 切换到虚拟环境LuffyAPIwork

2020-12-22 12:06:45 223

原创 drf续集之 - 多方式登录、批量操作

多方式登录DRF - 多方式登录DRF - 多方式登录用户可以以用户名、邮箱、手机号登录之前写的逻辑处理一般都是在视图类中,现在把逻辑拿到了序列化类的validate全局钩子中,在视图函数中 就无需写逻辑了,执行到.is_valid就会执行validate方法重点:视图类和序列化类之间交互数据的桥梁:context={}(是1个字典)自定义用户表,登录手动签发token,自定义的认证类认证通过,正常情况下查询得到当前登录用户...

2020-12-21 18:32:05 702 1

原创 drf续集之 - 自动生成接口文档、JWT

DRF - 自动生成接口文档1. 安装coreapipip install coreapi2. 配置models.pyfrom django.db import modelsclass Book(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length=32) price = models.DecimalField(max_digits=6,

2020-12-20 02:57:17 468 2

原创 drf续集之 - 分页器、异常处理、封装Response

DRF - 分页器、异常处理、封装Response分页器一:分页器简介二:`PageNumberPagination` - 普通分页参数设置使用方式实例三:`LimitOffsetPagination` - 偏移分页参数例实例四:`CursorPagination` - 游标分页参数实例五:继承APIView - 最原始分页的使用实例异常处理一:异常二:自定义全局异常代码手动测试异常封装Response创建使用分页器一:分页器简介DRF内置了3种分页器分页器中文介绍PageNu

2020-12-20 01:51:30 377 1

原创 Vue - 组件化开发

Vue - 组件化开发零:单文件组件1. 简介2. `Hello.vue` 的简单实例:一:环境准备1.Node.js零:单文件组件1. 简介在很多 Vue 项目中,我们使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '})在每个页面内指定一个容器元素这种方式在很多中小规模的项目中运作的很好,在这些项目里 JavaScript 只被用来加强特定的视图但当在更复杂的项目中,或者你的前端完全由JavaScript驱动的时候,下面

2020-12-20 01:10:02 190 1

原创 Vue - Swiper

Vue - Swiper一:简介1. 简介2. 官网3. CDN二:实例1. 基础2. 制作成组件3. 自定义组件一:简介1. 简介Swiper常用于移动端网站的内容触摸滑动Swiper是纯javascript打造的滑动特效插件,面向手机、平板电脑等移动终端Swiper能实现触屏焦点图、触屏Tab切换、触屏多图切换等常用效果Swiper开源、免费、稳定、使用简单、功能强大,是架构移动终端网站的重要选择!2. 官网https://www.swiper.com.cn/3. CDN<

2020-12-19 07:09:31 296 2

原创 Vue - 组件

Vue - 组件一:组件化开发基础1.组件是什么?有什么用?2.组件的注册方式一:组件化开发基础1.组件是什么?有什么用?组件就是:扩展 HTML 元素,封装可重用的代码,目的是复用例如:有一个轮播图,可以在很多页面中使用,一个轮播有js,css,html组件把js,css,html放到一起,有逻辑,有样式,有html组件的分类:全局组件:可以放在根中局部组件:工程化开发之后:1个组件 就是1个xx.vue2.组件的注册方式① 定义全局组件,绑定事件,编写样式<!D

2020-12-17 23:26:50 110

原创 Vue - 与后端交互

Vue - 与后端交互零:与后端交互 - ajax版本1 - 出现了跨域问题版本2 - 解决了跨域问题版本3 - 后端读取json文件传到前端一:fetch1.简介2.实例二:Axios1.简介2.实例三:计算属性1.通过计算属性实现名字首字母大写2.通过计算属性重写过滤案例四:虚拟DOM 与diff算法 key的作用1.Vue2.0 v-for 中 :key 有什么用呢?2.虚拟DOM的diff算法3.具体实现思考:什么是跨域问题?如何解决?零:与后端交互 - ajax版本1 - 出现了跨域问题前端

2020-12-16 19:31:53 4550

原创 Vue - 生命周期

Vue - 生命周期一:生命周期图1.官网原图2.大佬的图二:生命周期1.bedoreCreate2.created3.beforeMount4.mounted5.beforeUpdate6.updated7.beforeDestroy8.destroyed一:生命周期图1.官网原图2.大佬的图二:生命周期1.bedoreCreate2.created3.beforeMount4.mounted5.beforeUpdate6.updated7.beforeDestroy8.des

2020-12-16 18:09:52 91

原创 Vue - 基础

Vue - 基础一:条件渲染二:列表渲染① `v-if+v-for+v-else`控制购物车商品的显示② `v-for`遍历数组(列表)、对象(字典)③ `key`值 的解释④ 数组更新与检测三:事件处理1.过滤案例2.事件修饰符3.按键修饰符四:数据双向绑定v-model的使用五:表单控制1.checkbox选中2.单选3.多选4.购物车案例 - 结算5.购物车案例 - 全选/全不选6.购物车案例 - 数量加减一:条件渲染指令释义v-if相当于: ifv-else相当于:

2020-12-15 18:35:14 182

原创 Vue - 入门

Vue - 入门前端的发展史一:Vue介绍 和 基本使用1.Vue介绍2.Vue特点3.M-V-VM思想4.组件化开发、单页面开发5.版本6.引入方式7.补充8.简单使用二:模板语法三:指令1.文本指令`v-html`:让`HTML`渲染成页面`v-text`:标签内容显示js变量对应的值`v-show`:显示/隐藏内容`v-if`:显示/删除内容2.事件指令3.属性指令四:Style 和 Class前端的发展史HTML(5)、CSS(3)、JavaScript(ES5、ES6):编写一个个的页面

2020-12-14 19:47:53 180

原创 Linux学习 day15之k8s资源类型

k8s资源类型资源分类,一切皆资源,但需要分类资源对象`pod`最小单元 ,底层工人创建`Pod`经历阶段`pod`重启策略`init` 容器pause 容器容器生命周期`pod hook`测试`Ingress Controller` :独立运行一个或一组`pod`资源,通常就是一个应用程序,该程序拥有7c层代理能力,`deployment` 部署Service 服务`replicaSet`: 副本集 作为`deployment`参数`ReplicationController`:副本控制器 `rs

2020-12-12 20:52:56 146

原创 Linux学习 day14之管理k8s核心资源的仨方法

管理k8s核心资源的仨方法一、方法分类陈述式--主要依赖命令行工具`kubectl`进行管理声明式-主要依赖统一资源配置清单进行管理GUI式-主要依赖图形化操作界面进行管理二、kubectl命令行工具增加`kubectl`自动补全`get` 查查看名称空间`namespace`查看`namespace`中的资源`-o yaml`查看资源配置清单详细信息创建删除名称空间管理POD控制器和PODservice资源管理创建`service`资源扩容`POD`看`service`怎么调度`explain`查看属性的

2020-12-11 21:35:52 156

原创 Linux学习 day13之k8s基础简介

k8s基础简介一、Kubernetes 概述-开源的,用于管理云平台中多个主机上的容器化的应用特点Kubernetes 组件Master 组件---提供集群管理控制中心`kube-apiserver``ETCD``kube-controller-manager`:运行管理控制器`cloud-controller-manager``kube-scheduler`插件 `addons``DNS`用户界面容器资源监测Cluster-level Logging节点(`Node`)组件--提供`k8s`运行时环境,以

2020-12-11 17:29:48 292 1

原创 Linux学习 day12之k8s安装

k8s安装mast机部署第一步、部署环境创建`function.sh`的文件执行脚本`bash /.../function.sh`第二步、设置环境安装Docker第三步、各种换源第四步、配置hostnode机部署这里我们节约时间,直接将`mast`机克隆一份mast机部署第一步、部署环境创建function.sh的文件#!/bin/sh# 关闭selinux,关闭防火墙function close_selinux(){sed -i 's#enforcing#disabled#g' /etc/

2020-12-10 21:40:02 90

原创 Linux学习 day11之docker续集

docker续集使用 Docker 容器创建容器容器启动参数停止容器进入容器`attach``exec``nsenter``ssh`总结删除容器强制删除导入与导出容器导出容器导入容器查看容器容器命令详解复制命令Docker 网络网络基础网络名称空间创建一个命名空间`Veth` 设备`Veth` 设备操作创建` Veth` 设备对绑定命名空间将`Veth`分配`IP`查看对端 `Veth` 设备为对端`Veth`设备设置` IP`网桥`Iptables`总结Docker 网络模式`HOST` 模式`Conta

2020-12-06 04:13:17 438

原创 Linux学习 day10之docker入门

docker入门历史由来(废话阶段)一、 为什么要使用 DockerDocker 容器虚拟化的好处Docker 在开发和运维中的优势Docker 与虚拟机的比较二、 Docker 与虚拟化三、 Docker 概念和使用概念【Docker 安装】一、在 CentOS 系统上安装 Docker更换系统 yum 源首先,为了方便我们需要更新一下系统:安装所需的基础软件安装 yum 源更新并安装 Docker-CE启动并设置开机自启动测试启动二、在 Ubuntu 环境上安装 Docker查看版本信息更新系统安装基础

2020-12-01 21:50:05 306

原创 Linux学习 day09之计划任务

crond计划任务一 定时任务介绍二 定时任务管理系统级计划任务定义方式一:编辑文件`/etc/crontab`定义方式二:把脚本放到该目录下用户级计划任务计划任务语法格式示例总结:三 crontab不执行的问题四 定时任务练习五 定时发邮件六 定时任务编写思路七 总结:9句箴言一 定时任务介绍什么是定时任务?设定某个日期或时间周期性执行指令。比如设定一个闹铃,叫你每天早上7点钟起床等,这就是一个定时任务。什么是Crond?Crond是Linux系统中用来定期执行命令或脚本的一种服务

2020-11-30 19:36:01 168

原创 Linux学习 day08之软件包管理

软件包管理一 软件包介绍二 rpm包管理什么是rpm包`rpm`包格式`RPM`闭包使用的平台管理`rpm`包有两种命令`RPM`包获取三 rpm命令选项安装安装与依赖性升级`rpm`包练习安装如下软件包:三 yum管理RPM包`yum`介绍`yum`命令常用选项常用选项说明:镜像文件作为`yum`源(本地源)1、先挂载2、编辑`repo`文件3、检查可用仓库4、安装、查询、卸载5、软件包组安装、查询、卸载使用开源`yum`源(网络源)自己制作本地`yum`源yum扩展知识自己制作本地`yum`源共享给别人

2020-11-27 19:15:01 181

原创 Linux学习 day07之高级权限

这里写高级权限一 文件权限管理四:`ACL`简介基本操作应用`ACL`高级用法`mask``default`: 继承(默认)二 文件权限管理五:文件属性(权限)一 文件权限管理四:ACL简介用命令setfacl设置的ACL(Access Control List) 权限是UGO权限的扩展,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。ps:UGO中的O即其他人,涵盖了非常大的范围,我们使用setfacl可以将用户对文件的权限进行进一步细

2020-11-26 20:21:06 123

原创 Linux学习 day06之文件权限管理

文件权限管理一 文件权限管理之基本权限基本权限介绍设置权限权限对文件/目录的意义文件:`ls -l 文件名`目录:`ls -dl 文件名`例1:要想在目录下创建\删除内容:对目录的x权限+对目录的w权限例2:要浏览目录下内容:对目录的x权限+对目录的r权限例3:要执行目录下程序:对目录的x权限+对文件的x权限,如果文件是解释型语言的脚本程序,还需要对文件有r权限二 文件权限管理之特殊权限外援详解`SUID``SGID`权限设定方法文件权限位表示:`SGID`相关说明:`SBIT`三 文件权限管理之`chat

2020-11-25 23:49:46 252

原创 Linux学习 day05之用户组权限管理

用户组权限管理一 Linux用户介绍什么是用户?为何要有用户?或者说我们为何要哦创建用户?如何查看用户相关信息linux系统中用户角色划分超级用户扩展阅读二 用户与组相关文件和用户、组相关的文件:**`/etc/passwd`:****`/etc/shadow`**`/etc/group`:组文件`/etc/gshadow`:组密码文件`/etc/skel/` 用户老家的模板三 用户管理命令`useradd`创建用户`id`,`who`,`whoami`查看用户`userdel`删除用户`useradd`命

2020-11-24 21:35:53 461

原创 Linux学习 day04之Linux文件高级管理

Linux文件高级管理一、文本三剑客sed命令用途用法选项定位(筛选)命令用法示例:用法示例:p与d用法示例: `s///g``awk`命令用途用法选项工作流程内置变量定位(筛选)部分可以是操作部分可以是用法示例:`grep` 擅长过滤内容用法选项示例二、文件管理之文件查找find命令用法按文件名查找:按文件大小查找:按指定的目录深度查找:按时间查找:按文件属主、组进行查找:按文件类型查找:按文件权限查找:找到后处理的动作:扩展知识:`find`结合`xargs`三、文件管理之上传下载下载`wget`命令:

2020-11-23 21:36:57 290

原创 Linux学习 day03之Linux文件管理

Linux文件管理一、Linux与Windows目录结构对比二、常用的文件管理命令三、文本编辑一、Linux与Windows目录结构对比Linux以单根的方式组织文件 所有目录和文件都是从/开始Windows是多根目录结构 C: D:盘都是目录起点Linux各目录用途/bin -> usr/bin # 普通用户使用的命令如ls、date/sbin -> usr/sbin # 管理员使用的命令/boot # 存放的启动相关的文件,例如kernel,grub(引导装载程序)/

2020-11-22 19:33:30 144 1

原创 Linux学习 day02之初识shell之系统命令基础

初识shell之系统命令基础一 shell介绍基础介绍shell脚本介绍GNU bashposix二 shell交互式环境三 shell命令语法四 bash解释器特性命令和文件自动补全 注意:Tab只能补全命令和文件快捷键历史命令别名五 命令查找优先级:ps:查看命令的位置:which 命令 whereis 命令一 shell介绍基础介绍Shell 中文意思贝壳,寓意类似内核的壳。Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,简而言之就是只要能够操作

2020-11-22 01:27:25 266

原创 Linux学习 day01

Linux第一天1. 硬件启动2. grub2引导阶段3. 系统内核引导4. systemd初始化阶段二、系统启动级别Linux分为7个启动级别:三、单用模式四、grub加密五、光盘修复模式六 bios加密1. 硬件启动打开电源POST自检:初始化硬件设备,检查系统硬件设备(CPU、内存条、硬盘、键盘、鼠标)BIOS自检:检查设备启动顺序,如果是硬盘启动,则读取硬盘第一扇区(MBR,512字节)并执行MBR的BootLoader。MBRMBR(Main Boot Record),是硬盘

2020-11-19 21:47:40 176

原创 Django学习 day82之drf第六日

drf第六日一 权限源码分析二 模型层choice字段使用(重点)三 自定义频率类(分析,了解)四 内置频率类使用一 权限源码分析源码分析APIView的dispatch—》APIView的initial—》APIView的check_permissions(request)for permission in self.get_permissions(): # 权限类对象放到列表中if not permission.has_permission(request, self): self.p

2020-11-17 16:25:30 103

原创 Django学习 day81之drf第五日

drf第五日一 drf认证功能介绍二 认证功能源码分析三 自定义认证类(重点)四 认证功能局部使用和全局使用五 自定义权限功能(重点)六 权限功能局部使用和全局使用七 内置的权限和认证类拓展一 drf认证功能介绍认证,频率,权限用户是否登录到系统中后期基本上会用JWT的认证自定制的认证二 认证功能源码分析APIView—》dispatch—》self.initial(request, *args, **kwargs)–》self.perform_authentication(reque

2020-11-15 23:09:26 97

空空如也

空空如也

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

TA关注的人

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