分类标签归档:python

cv2调用tensorflow模型


问题概述

之前从tensorflow的C/C++接口中成功调用了saved_model,回味过程的时候看到opencv中的dnn,可以直接调用训练好的模型,但是这个不是saved_model,而是h5模型转换得到的另一种pb模型。

转换代码

另外会打印输入输出层的名字,使用tensorflow调用转换好的pb模型时会用到,但cv2的dnn就用不到了。

import tensorflow as tf
from tensorflow.python.framework.convert_to_constants import convert_variables_to_constants_v2

def

Read more

基于深度学习的图片验证码识别


写在前面

做自动化流程的时候会遇到各种各样的验证码,图片验证码无疑是最常见的了,本文记录一下破解验证码的过程。

主要环境

Windows 10Pro 64位
PyCharm 2021.2 Community
python3.8.5 64位
tensorflow 2.5.0
keras 2.4.3
opencv-python 4.5.3.56
scikit-learn 0.24.2

目标验证码

这里训练集(手工标注1000张)和验证集(手工标注100张)使用的都是处理过的验证码,原图因为部分原因无法提供 训练集

分割字符

主要代码如下:

# -*- coding: utf-8 -*-
"&q

Read more

selenium中的几个骚操作


写在前面

随着业务需求的增多,遇到的难题也越来越多了,所以想写篇文章记录一下
目前我手上没有代码,我一时半会儿也想不起来,等上班了再copy过来吧
先写一下解决了哪些问题

problems

1、控制chrome自动清空缓存

from selenium import webdriver
import time

browser = webdriver.Chrome()
browser.implicitly_wait(10)

# 访问这个地址会弹出清空缓存确认框
browser.get('chrome://settings/clearBrowserData')

time.sle

Read more

simpleui美化admin+Admin自定义action


[TOC]

写在前面

今天在检索Django开源项目的时候发现了一个漂亮的管理后台,而且只需要pip安装一下,再将app注册到settings.py中,原本简陋的后台就被取代了,简直是不能更贴心。

项目地址

Gitee
Github
simpleui官方文档

如何使用

安装:
pip install django-simpleui
注册app:

#settings.py,注意要放到第一行
INSTALLED_APPS = [
      'simpleui',
      'django.contrib.admin',
      'django.con

Read more

使用get_queryset控制admin中内容展示


写在前面

因为本站的文章创作是在后台进行(不要问我为什么不搬到前台来,问就是懒),那如果有多个作者,应该限制该作者仅可以修改自己发布的文章
而且作者在修改自己的个人信息时,不应该将权限模块呈现出来,不然人均superuser,那我这个管理员就废废的了
由此引发了另外一个问题,本站是开源的,如果有人根据源码写了脚本,获取cookie和csrf_token,带上参数发起post请求更改权限呢?如果这么做有效的话,那就是一个严重的安全漏洞,所幸,测试之后发现除了展示给用户的部分,其他参数都是无效的
当然,对我而言担心是多余的,目前网站的用户只有我一个。
如果你想把本站源码修改为开放的博客平台,还有一

Read more

python之socket搭建静态页面服务器


写在前面

最近在学习Django,对于底层的信息交换产生了些许兴趣,而且前段时间看一个同事使用c++写socket,今天我查了点资料,自己也写写试试

用到的包

#socket相关
from socket import *
#线程相关
from threading import Thread
#系统模块
import os
#正则匹配,从请求中匹配html文件路径
import re

筛查请求

def get_request_name_from_http(http:str) -> str:
    #从请求中匹配静态文件地址
    r = re.search(r"GET /(

Read more

为网站添加APlayer控件


[TOC]

源代码和文档

Github
APlayer中文文档

准备工作

我默认你拥有Django基础知识,并且设备中安装了python和Django环境,会使用pip包管理工具

#安装Django
pip install django
#创建项目和app
django-admin startproject myproject
cd myproject
python manage.py startapp myplayer
#创建超级用户
python manage.py createsuperuser
#如果报错先迁移一下数据库
python manage.py makemigrations

Read more

使用Django做一个简单的文件服务器


写在前面

有时候想把资料存在云端,我们可以选择百度云,但是它给的实在太多了,而且下载的时候还限速,我就想要简单的上传下载功能,所以尝试用Django做了一个,在此记录一下。
本文主要讲models和admin的写法,前端只有很少一部分内容。

准备工作

#创建项目
django-admin startproject myproject
#创建app
python manage.py startapp uploader

修改配置

settings.py
添加以下路径:

#修改
INSTALLED_APPS = [
    'django.contrib.admin',
    &

Read more

自动化测试之淘宝下单


写在前面

最近猎头给我推荐了一份工作,有一道笔试题需要实现淘宝的自动登录、搜索、下单、付款。
提供了三个选项,UI自动化、接口自动化、移动自动化。
对我来说最简单有效的是使用selenium做UI自动化,接口自动化也可以写,但是登录可能就要一整天,移动自动化则是完全不会。

代码如下

#时间模块,用于delay以等待网页响应
import time
#从config中读取密码
import config
#加载selenium相关库
from selenium import webdriver
from selenium.webdriver.chrome.options import Optio

Read more

Django删除超级用户


方法

#进入shell
python manage.py shell
#用户数据库
from django.contrib.auth.models import User
#查询用户
User.objects.filter()
#删除,如果超级用户状态被取消则把True改为False
User.objects.get(username="name", is_superuser=True).delete()

本站

#进入shell
python manage.py shell
#引入数据库
from accounts.models import BlogUser
#查询
B

Read more