- 博客(82)
- 收藏
- 关注
原创 request模块模拟请求
使用request模块 发起 content-type为 x-www-form-urlencode格式的请求1.导入urllib里的 parse方法from urllib import parse2.使用parse.urlencode()方法解析需要传入的数据data = parse.urlencode(data)3.使用request模块发送请求request.requests('url', 'post', headers=headers, data=data)...
2022-03-21 18:09:14 302
原创 selenium自动登录boss直聘
基于selenium模块自动登录boss直聘超级鹰识别验证码操作详细.import timefrom PIL import Imagefrom selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver import ChromeOptions, ActionChainsfrom selenium.webdriver.common.by import
2021-06-29 20:53:05 1075
原创 超级鹰平台识别boss验证码
使用超级鹰打码平台获取坐标点击验证码图标对应坐标将本地图片打开使用超级鹰平台验证获取坐标值import requestsfrom hashlib import md5from PIL import Imagedef Chaojiying_Client(object): .... # 超级鹰客户端部分代码可以直接在超级鹰官网获取# 根据超级鹰规则处理验证码图片大小def format_img(): # 打开保存的验证码图片 img = Image.open('test.jpg')
2021-06-29 20:40:49 604
转载 scrapy初次使用教程
安装pip install scrapy创建项目创建 scrapy start project projectname定义Item 在items.py中创建item类,继承自scrapy.Item 使用scrapy.Field()方法定义item类中的title、link、desc属性在spiders包中新建dmoz_spider.py文件创建一个Spider类,继承 scrapy.Spider 类定义name属性 用于区别Spider,需要是唯一值定义start
2021-05-30 21:50:30 235
原创 django中的admin应用
Admin快速生成项目后台模型只需注册就可以实现管理 增删改查 筛选 过滤 搜索 网站信息管理 AdminSite样式定制 分组 复写页面,编写html/css等文件创建超级用户命令:python manage.py createsuperuser使用admin来管理自定义的模型:在admin.py中添加:admin.site.register(模型类名)可以在models.py中的类中定义admin界面中显示的模型名字和详细界面显示的条目标题内容通过定义cla
2021-05-20 21:32:57 295 1
原创 celery
Celery异步任务 应用场景 当前请求的操作是不需要立刻返回结果的 使用步骤 安装 pip install celery 选择指定一个消息载体 redis 配置redis位置 RabbitMQ 其他 创建异步功能 添加异步装饰器 @shared_task 调用 原函数.delay(params) 返回的是uuid,任务编号 在django中集成 和基本使用差不多 需要在django中创建单独的文件进行配置 在
2021-05-20 21:22:06 151 1
原创 django-rest-framework中的用户认证,权限和节流
认证和权限用户注册设计数据模型,设计字段标识用户权限实际就是数据的添加POST users接收数据进行存储 增加了内置超级用户的功能 在创建(即用户注册)的时候去判断是否在超级用户表中用户登录POST users添加区分方式,用来区分注册和登录 在query_params中添加action参数 通过action参数进行分支处理脱离cookiesession失效设计令牌策略 用户在登录时生成令牌,后端存储在cache中,以json格式返回给前端用户认证继承自系统的基类Ba
2021-05-20 21:10:09 258
原创 django-rest_framework 小总结
django-rest_framework 小总结serializers 序列化工具 序列化与反序列化 级联模型 添加级联字段 nested 级联字段的key必须是原本就在model中存在的 隐性属性 自定义related_nameAPIView CBV - class base view 实现各种请求处理Mixins CRUDL create retrieve update delete list 对模型操作viewsets 对APIView和Mixins
2021-05-20 21:10:03 77
原创 django中的重量级框架 django-rest-framework
django-rest-framework使用命令安装:pip install djangorestframework配置restframework在settings中的INSTALLED_APPS里添加'rest_framework',添加restframework的配置REST_FRAMEWORK = {# Use Django's standard `django.contrib.auth` permissions,# or allow read-only access for un
2021-05-20 19:29:16 308 1
原创 django中的restful
restful一种设计风格每一个URL代表1种资源;客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;通过操作资源的表现形式来操作资源;资源的表现形式是XML或者HTML;客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息可以通过将django项目中的views.py或者models.py
2021-05-19 20:06:44 348
原创 django项目部署
部署云服务器安装云服务器操作系统 ubuntu/centos安装一套开发环境 python 2.x/3.x pip 注意版本兼容 virtualenv 虚拟环境安装、创建 mysql apt直接安装 redis 源码安装 nginx 安装 按照官网文档操作 uwsgi 安装 配置 或者 gunicorn 安装配置 用于处理动态页面准备进行部署: 安装项目所需依赖: pip install -r requirements.txt 修改配置文件到指定路径 从静态
2021-05-18 20:20:15 69
原创 mongodb
mongodb安装:配置yum源打开文件 vim /etc/yum.repos.d/mongodb.new.repo编辑文件: [mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/stati
2021-05-18 19:40:57 108
原创 django中的templates和views
templatesMTV中的Template充当数据展示的角色在Django中使用的就是Django模块模板文件分为静态html和模板html模板html文件中的语法:变量:变量名遵循命名规则从django中往模板html文件里传值:将数据以字典的形式放在响应中返回即可在模板html文件中接收变量:{{ var }}在两个大括号内填入传来变量字典中的key,在展示时就是展示字典的value值标签标签格式:{% exp %}标签分为单标签和双标签,双标签必须闭合模板语法
2021-05-18 19:40:51 184
原创 django中的model
model:模型在django中就是对数据操作的封装。在model中 可以对数据库的表结构进行定义:创建模型类——在数据库中对应生成的表定义类属性——对应数据库中表的字段模型的定义需要继承自系统的models.Model在定义时同时可以在class Meta() 元信息定义db_table 表名——在数据库中生成的表名class ModelName(models.Model): pass class Meta: db_table = 'new_tablename' # 对
2021-05-18 19:40:44 323
原创 在django中实现文件上传
文件上传客户端 必须使用提交方式(POST) 指定enctype=‘multipart/form-data’原生 文件复制 从requet.FILES中获取到上传来的文件 打开一个文件,从上传上来的文件进行读取,向打开的文件中进行写入 每次写入记得flush Django内置 ImageFiled 依赖于pillow 配置使用 在settings中指定MEDIA_ROOT,MEDIA_ROOT路径只有一个 指定ImageFiled字段的参数upload_to
2021-05-18 19:40:38 89
原创 redis安装
redis安装流程:从网站下载压缩包解压:tar -zxvf 包名进入解压后的文件夹中使用make命令构建构建后使用make test 测试,可能需要安装tcl进入utils文件夹中运行 ./install_server.sh若报错 Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!则需
2021-05-18 19:40:18 87
原创 nginx,安装 ,配置
nginx高性能的HTTP服务器和反向代理服务器在django项目部署时一般使用nginx和其他服务器一起搭配使用,nginx用来处理静态资源文件此处为ubuntu安装流程:按照官方文档执行安装,顺序执行下列命令:安装前置sudo yum install curl gnupg2 ca-certificates lsb-release要為穩定的nginx軟件包設置apt倉庫echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs`
2021-05-18 18:43:44 249
原创 gunicorn和nginx对接
安装gunicorn:pip3 install gunicorn启动gunicorn服务器使用gunicorn命令,指令wsgi即可gunicorn djangoproject.wsgi查看帮助gunicorn -h然后根据gunicorn启动的端口更改nginx相关配置
2021-05-18 17:35:06 157
原创 uwsgi安装,配置
安装安装uwsgi包:pip3 install uwsgicentos安装uwsgi出现:ERROR: Failed building wheel for uwsgi可以按照以下步骤解决:yum groupinstall “Development Tools”yum install python3-devel.x86_64最后再执行:pip install uwsgi 就可执行成功uwsgi的配置:配置文件:uwsgi.ini[uwsgi]#使用nginx 连接时使用# sock
2021-05-18 16:37:32 477
原创 redis
redis安装:从网站下载源码安装包wget https://download.redis.io/releases/redis-5.0.8.tar.gz解压:tar -zxvf redis-5.0.8.tar.gz解压后进入文件夹:redis-5.0.8 运行安装命令:sudo make && sudo make install安装完成后需要进入redis.conf更改配置项:daemonize 改为yes复制配置文件redis.conf到记得住的放置配置文件的位置
2021-05-17 16:33:03 66
转载 MySQL的存储过程
存储过程:存储过程的主要作用就是对sql语句的封装以及重用设置结束符: delimiter 结束符符号 delimiter ** # 将sql语句的结束符号改为两个*创建存储过程: create procedure 存储过程名()定义存储过程内运行代码: begin select * from ... ... end 自定义的结束符符号调用存储过程: call 存储过程名()存储过程创建完成后记得将结束符号改回;创建一个查询表的存储过程: d
2021-05-17 15:43:07 107
转载 mysql的事务
事务:MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。事务用来管理 insert,update,delete 语句一般来说,事务是必须满足4个条件(ACID):原子性(A
2021-05-17 15:40:24 58
原创 数据库存储引擎及表存储
数据库所使用的的存储引擎之间的区别:功能MTISAMMemoryInnoDBArchive存储限制256TBRAM64TBNone支持事务NoNoYesNo支持全文搜索YesNoNoNo支持数索引YesYesYesNo支持哈希索引NoYesNoNo支持数据缓存NoN/AYesNo支持外键NoNoYesNo行级锁NoYesinnoDB和MyISAM在表存储方面的区别:i
2021-05-17 13:48:13 76 1
原创 mysql数据库查询
查看数字n1是否在n2和n3中间select n1 between n2 and n3数据比较:= > < != <>null比较:12 is null ----> 032 is not null ----> 123 = null ----> nullnull = null ----> nullnull <=> null ----> 1null is null ----> 1模糊比较:
2021-05-17 11:42:20 87
原创 mysql数据库相关操作
数据库相关展示所有数据库show databases创建数据库creat database [if not exists] '数据库名' charset=字符编码(utf8mb4);切换到数据库use python201删除数据库drop database 'dbname';表格相关创建表:creat table '表的名字'(id int primary key auto_increment commment ""用户的唯一标示"",name varchar(128),
2021-05-17 11:42:12 135 1
原创 数据库mysql安装,用户,权限
CentOS安装数据库打开mysql官网 下载MySQL Yum Repository的安装包CentOS可以使用下载链接下载https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm下载后使用 sudo yum install 安装包名 命令 安装mysql repository此时若运行install mysql-community-server命令的话会默认安装8.0版本的mysql数据库,因为企业
2021-05-17 11:42:02 145
原创 python-alipay-sdk
使用第三方包来完成支付宝sdk调用:安装# 安装python-alipay-sdkpip install python-alipay-sdk --upgrade# 对于python2, 请安装2.0以下版本:pip install python-alipay-sdk==1.1生成密钥文件opensslOpenSSL> genrsa -out app_private_key.pem 2048 # 私钥OpenSSL> rsa -in app_private_key.pe
2021-05-17 11:41:55 603
原创 thefuck 代码提示工具
thefuck安装前置:pythonpippython - dev用处:在指令输入错误时,使用fuck可以根据输入的错误指令猜测正确的指令安装python - dev:使用工具:aptitudesudo apt-get install aptitudesudo apt update安装完成后再安装python-devsudo apt-get install python - devsudo apt install python3-dev python3-pip然后使用命令安装th
2021-05-17 11:41:47 185
原创 debug_toolbar
django_debug_toolbar 是django的第三方工具包,给django扩展了调试功能。包括查看执行的sql语句,db查询次数,request,headers,调试概览等。安装命令:pip install django-debug-toolbar -i https://pypi.tuna.tsinghua.edu.cn/simple/前置; INSTALLED_APP中添加'django.contrib.staticfiles', "INSTALLED_APP中添加'debug_
2021-05-17 11:41:38 259
转载 http协议
http请求/响应步骤:http客户端发送请求,与web服务端的http默认端口80建立TCP套接字连接通过tcp套接字连接,客户端向服务器发送请求,分为请求行,请求头,空行,请求数据四部分服务器解析请求,将响应由tcp连接返回给客户端,响应分为状态行,响应头,空行,响应数据四部分释放tcp连接,根据connection的模式来释放,若为close模式则返回响应后服务端主动关闭tcp连接,若为keepalive模式则连接会保持一段时间,期间内可以持续访问客户端解析html内容,1.首先分析状态
2021-05-16 20:40:04 164
原创 shell编程基本语法
定义变量a=10引用变量/数组 可以使用大括号,多数时候大括号可以省略,在需要结合下标引用数组时大括号不可以省略掉a/a/a/{a}打印变量echo $a使用echo引用变量打印时,如果加单引号则不会引用变量echo $a --> 10,echo ‘$a’ --> $a,echo “”$a"" --> 10使用echo打印时,如果加反引号则表示执行反引号里的命令,输出命令调用的结果echo `whoami` —> usern...
2021-05-16 20:26:54 77
原创 Django中的富文本
tinymce使用django中的tinymce框架:pip install django-tinymce==2.7.0富文本:其实就是可以添加样式的文档,和HTML有很多相似的地方用处大约有两种:1.在后台管理中使用2.在页面中使用,通常用来作博客"使用之前需要进行的操作:在settings.py中的INSTALLED_APPS里添加富文本框架tinymce添加默认配置: TINYMCE_DEFAULT_CONFIG = { 'theme': 'advanced
2021-05-16 19:44:57 821
原创 第三方包pillow和验证码生成
Pillow:绘图工具包验证码:在用户登录,注册以及一些敏感操作时,为了防止服务器被暴力请求,或爬虫爬取,我们可以使用验证码进行过滤,减轻服务器的压力使用绘图Pillow可以制作验证码图片首先安装:pip install Pillow核心: Image/ImageDraw/ImageFont绘制流程mode = 'RGB' # 指定绘制模式size = '200,100' # 指定画布大小color_bg = (255,0,0) # 指定画布背景颜色image = Image.
2021-05-16 17:59:06 96
原创 分页
Paginatordjango内置Paginator类(对象):使用时需要传入query_set和默认的每页显示数量:page_object = Paginator(query_set, per_page)page_object可以直接作为关键字参数传给html文件:data= { 'student_object': student_object}return render(request, 'html', context=data在html文件中使用for循环获取page_object里
2021-05-16 17:49:25 57
原创 django中的中间件、AOP
中间件;中间件是一个轻量级的底层的插件,可以介入Django的请求和响应过程(面向切面编程),其本质就是一个python类面向切面编程(Aspect Oriented Programming)简称AOP,AOP的主要实现目的时针对业务处理过程中的切面进行提取,他所面对的时处理过程中的某个步骤或阶段,以获得逻辑过程中各部分低耦合的隔离效果调用顺序 中间件注册的时候是一个列表 如果我们没有在切点处直接进行返回,中间件会依次执行 如果我们直接进行了返回,后续中间件就不再执行了–可切入点
2021-05-16 17:42:45 342
原创 django中的缓存
缓存作用:提升服务器响应速度将执行过的操作数据存储下来,在一定时间内,再次获取数据的时候,直接从缓存中获取比较理想的方案,缓存使用内存级缓存Django内存缓存框架缓存框架的核心目标:较少的代码: 缓存应该尽可能快 因此围绕缓存后端的所有框架应该保持在绝对最小值,特别是对于获取操作一致性: 缓存API应该是提供跨越不同缓存后端的一致接口可扩展性: 基于开发人员的需求,缓存API应该可以在应用程序级别扩展django内置了缓存框架,并提供了几种常用的缓存基于Memcached缓存
2021-05-16 17:00:10 216
原创 会话技术
出现场景:服务器如何识别客户端,Http在web开发中基本都是短连接,一次请求的生命周期从request开始,到response就结束了种类:Cookie:客户端回话技术,数据存储在客户端,键值对存储,支持过期时间,默认cookie会自动携带本网站所有cookie。cookie不能跨域名、跨网站,通过HttpResponse来操作cookie。cookie使用更简洁,服务器压力小,数据不是很安全session服务器要维护session,相对安全token拥有sess
2021-05-16 15:19:21 166
原创 django中的响应
返回响应:在django项目中,返回响应一般有四种:HttprRsponse、JsonResponse、redirect、render其中HttpResponse和JsonResponse都是直接返回数据,此时在函数中处理好要返回的数据即可HttpResponse一般传入的数据是一个字符串return HttpResponse('hello')JsonResponse传入的数据需要为一个字典:即key:value 的形式一般会在函数体中定义一个data变量,来存储需要返回的数据,然后再ret
2021-05-16 00:19:38 717 1
原创 运行Django项目
解释器配置打开配置编辑界面选择添加django server配置djangoserver配置python解释器的配置 settings文件pycharm的配置 settings文件位置全部配置完成后即可在pycharm中启动django项目:
2021-05-15 22:09:39 1673
原创 django、项目创建,虚拟环境搭建
DjangoDjango是一个用Python编写的开放源代码的Web应用框架(源代码是开源的,遵守BSD版权)。采用了MVC的框架模式,也有很多人把它称为MVT(MTV)模式。安装Django:pip3 install django==2.2 -i http://pypi.mirrors.ustc.edu.cn/simple/这里使用-i选项更改了安装包的下载源地址,常用的国内python源: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学
2021-05-15 15:48:13 7104 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人