自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 xftp连接服务器提示sftp子系统申请已拒绝(或者finalshell没有显示文件的内容)

1、修改配置文件[root@nulige ~]# vi /etc/ssh/sshd_configoverride default of no subsystemsSubsystem sftp /usr/libexec/openssh/sftp-server替换成override default of no subsystemsSubsystem sftp /usr/libexec/openssh/sftp-server #备注:如果没有这行,就添加。#重启服务[root@nulige ~.

2022-02-09 11:47:45 1186

原创 linux下配置虚拟环境

目录目的一、安装virtualenv二、再安装一个包管理工具virtualenvwrapper三、现在就可以创建虚拟环境了1、创建虚拟环境2、激活3、退出四、使用virtualenvwrapper的功能来创建和管理1、先找到python3和virtualenvwrapper.sh所在位置2、然后配置./bashrc文件,使用命令3、刷新配置文件4、创建虚拟环境5、查看所有的虚拟环境6、进入虚拟环境7、退出虚拟环境8、删除虚拟环境目的创建python虚拟环境:用一个工具包,在不同项目上采用的版本不同,由此

2022-01-24 17:54:41 3428

原创 Docker 部署redis

目录一、安装Docker1、安装使用工具(以linux为例)2. 添加yum镜像3. 更新yum缓存4. 安装docker-ce5. 启动docker服务6. 查看docker信息7. 查找centos可用镜像8. 镜像仓库地址9. 查看docker服务二、容器的操作三、docker安装redis并以配置文件方式启动1、获取redis镜像2、查看本地镜像3、修改配置文件然后以配置文件的形式启动容器,做映射4、在阿里云开启4001端口,然后就可以连接使用了四、其他补充1、查看redis版本2、查看密码和设置密

2021-12-25 17:46:58 1176

原创 pycharm安装mysqlclient报error: Microsoft Visual C++ 14.0 is required

在网上查了一些方法,最终以如下方法解决:1、直接安装 对应的 whl文件(按照自己python对应的版本下载)whl 下载地址2、安装的时候遇到提示无法安装mysqlclient-1.4.6-cp38-cp38-win_amd64.whl 改为:mysqlclient-1.4.6-cp38-cp38m-win_amd64.whl...

2021-11-17 15:15:37 652

原创 jenkins+allure

简介主要为了方便使用allure生成报告后,使用Jenkins的地址访问测试报告。Linux配置Jenkins+python:博客地址Linux安装jdk:博客地址Jenkins与码云:博客地址Jenkins的war包下载地址:http://mirrors.jenkins-ci.org/war/Jenkins更新方法:# 停止Jenkinsservice jenkins stop#使用rpm -ql jenkins 查看war包所在位置# 用升级war包替换旧的安装包,重启Jenkin

2021-04-17 23:46:13 480

原创 Linux安装jdk

目录下载jdk、配置环境变量下载jdk、配置环境变量下载jdk官网下载:下载地址阿里云盘:在/usr新建目录jdk,常用的目录名有jdk、javamkdir /usr/java把.tar.gz放到/usr/java下cd到/usr/java,解压,解压完将压缩包删掉cd /usr/javatar -xzvf jdk-8u241-linux-x64.tar.gzrm jdk-8u241-linux-x64.tar.gz在/etc/profile文件中配置环境

2021-04-17 21:16:33 86

原创 pytest+Allure生成测试报告

目录先看一下项目目录Allure介绍先看一下项目目录关于allure安装参考该博客:allure安装Allure介绍Environment(环境)在Allure报告中添加环境信息,通过创建environment.properties或者environment.xml文件,并把文件存放到allure-results目录下environment.propertiesBrowser=ChromeBrowser.Version=63.0Stand=Productionpython.Vers

2021-04-15 00:02:48 1496

原创 day9-scrapy框架

目录什么是 scrap?scrap框架的基本使用什么是 scrap?爬虫中封装好的一个明星框架。功能:高性能的持久化存储,异步的数据下载,高性能的数据解析,分布式scrap框架的基本使用环境的安装mac or Linux: pip install scrapwindowspip install wheel下载twisted:下載地址为http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted安装twisted:pip install Tw

2021-04-05 23:46:42 192

原创 day8-使用selenium实现自动登录12306

一、前期准备需要借助的资源1、需要借助第三方的验证码识别工具进行识别,此处使用超级鹰做演示(http://www.chaojiying.com/)2、注册超级鹰,购买积分,生成软件id思路整理1、使用selenium打开登录界面2、使用selenium进行截图3、使用超级鹰获取验证码的坐标信息4、使用selenium进行自动登录二、代码如下from selenium import webdriverfrom PIL import Imagefrom selenium.webdr

2021-03-18 23:27:35 129

原创 day7-使用selenium配合进行爬虫

一、实现无头浏览和规避检查是否使用seleniumfrom selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver import ChromeOptionsimport time#实现无可视化chrome_options = Options()chrome_options.add_argument('--headless')chrome_opt

2021-03-17 23:30:11 177 1

原创 day6--高性能的异步爬虫

目的在爬虫中使用异步实现高性能的数据爬取操作异步爬虫的方法多线程,多进程(不建议)好处:可以为相关阻塞的操作单独开启线程或者进程,阻塞操作就可以异步执行弊端:无法无限制的开启多线程或者多进程线程池,进程池(适当使用)好处:可以降低系统对进程或者线程创建和销毁的一个频率,从而很好的降低系统的开销弊端:池中线程或者进程的数量是有上限。实例:爬出梨视频数据from multiprocessing import Poolimport requestsfrom lxml i

2021-03-16 22:24:57 151 1

原创 day5-协程

目录一、什么是协程二、协程的意义三、异步编程一、什么是协程协程(coroutine),也可以被称为微线程,是一种用户态内的上下文切换技术,简而言之,其实就是通过一个线程实现代码块相互执行,例如:def func1(): print(1) ... print(2)def func2(): print(3) ... print(4)func1()func2()实现协程的几种方法greenlet 早起模块yield 关键字asyncio 装饰器(py3.4)async

2021-03-16 22:18:05 175 2

原创 day4--使用cookie访问和代理

需求:爬取人人网当前用户的相关的用户信息(个人主页中显示的用户信息)http/https协议特性:无状态。没有请求到对应页面数据的原因:发起的第二次基于个人主页页面请求的时候,服务器端并不知道该此请求是基于登录状态下的请求cookie:用来让服务器端记录客户端的相关状态。手动处理:通过抓包工具获取 cookie值,将该值封装到 headers中。(不建议)自动处理:cookie值的来源是哪里?模拟登录post请求后,由服务器端创建session会话对象:作用:..

2021-03-14 12:30:49 153

原创 day3--数据解析

目录聚焦爬虫:爬取页面中指定的页面内容聚焦爬虫:爬取页面中指定的页面内容编码流程:指定urL发起请求获取响应数据一数据解析持久化存储数据解析分类正则bs4xpath (ok)数据解析原理概述:解析的局部的文本内容都会在标签之间或者标签对应的属性中进行存储1、进行指定标签的定位2、·标签或者标签对应的属性中存储的数据值进行提取(解析)...

2021-03-11 23:27:09 103

原创 day2-requests模块基础

目录requests模块实战编码:实战巩固requests模块python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高作用:模拟浏览器发请求。如何使用:( requests模块的编码流程)指定urL发起请求获取响应数据持久化存储环境安装:pip install requests实战编码:需求:爬取搜狗首页的页面数据import requestsdef get_sogou(): #step1 指定URL url = 'https

2021-03-09 22:20:02 77

原创 day1-爬虫的基础简介

目录什么是爬虫:爬虫的价值:爬虫究竟是合法还是违法的?爬虫带来的风险可以体现在如下2方面:如何在使用编写爬虫的过程中避免进入局子的厄运呢?爬虫在使用场景中的分类反爬机制反反爬策路robots.txt协议:http协议什么是爬虫:通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程。爬虫的价值:实际应用就业爬虫究竟是合法还是违法的?在法律中是不被禁止具有违法风险善意爬虫 恶意爬虫爬虫带来的风险可以体现在如下2方面:爬虫干扰了被访问网站的正常运营爬虫抓取了收到法律

2021-03-07 21:24:39 144

原创 pytest介绍

一、 pytest单元测试框架什么是单元则试框架单元测试是指在软件开发当中,针对软件的最小单位(函数,方法)进行正确性的检直测试单元则试框架java: junit和 testngpython: unittest和pytest单元则试框架主要做什么?1、测试发现:从多个文件里面去找到我们测试用例2、则试执行:按照一定的顺字和规则去执行。井生成结果3、测试判断:通过断言判断预明结果和实际结果的差异4、测式报告:統计题试进度,耗时,通过率,生成测试报告二、pytest简介pytest

2021-03-04 00:17:01 770

原创 Jenkins发送邮件

1、进到全局配置,填写发件人邮箱信息2、设置邮件服务器3、设置发送人账号信息4、邮箱模板(根据自己需求自行修改)没有邮箱配置的下载插件:Email Extension plug in<!DOCTYPE html><html><head><meta charset="UTF-8"><title>${ENV, var="JOB_ NAME"}-第${BUILD_ NUMBER}次构建日志</title></

2021-02-21 23:55:44 794

原创 Jenkins与码云集成

简介当前配置是在Jenkins和python、mysql、git等都配置好的情况下Linux下配置Python参考:安装PythonLinux下配置mysql参考:安装mysqlJenkins配置一、创建项目前的配置在创建项目前把需要用到的先到Global Tool Configuration配置好第一个是jdk的配置然后是git的配置如果服务器没有安装git,需要先按照git,使用命令yum install git进行安装,git --version查看版本信息。whereis g

2021-02-21 17:06:14 252

原创 Linux下安装mysql

安装mysql数据库1、下载yum源:wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'2、安装yum源rpm -Uvh mysql57-community-release-el7-11.noarch.rpm3、查看有哪些版本的mysql:yum repolist all | grep mysql4、安装yum install -y mysql-community-server

2021-02-21 17:04:43 119

原创 Linux下安装Python

部署 Python 3部署编译环境yum -y groupinstall 'Development Tools'yum -y install zlib zlib-devel libffi-devel openssl-develPython 官网下载最新版 Python 源代码。cd /tmpcurl -O https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgztar xf Python-3.8.0.tgzPyth

2021-02-21 17:01:26 516 1

原创 Jenkins安装部署

Linux系统安装虚拟机部署参考虚拟机部署LinuxJenkins部署1、先决条件在继续之前,你必须具备:从零开始部署了 CentOS 7 服务器实例。root 权限2、 部署阿里云源curl -o /etc/yum.repos.d/CentOS-Base-ali.repo http://mirrors.aliyun.com/repo/Centos-7.repocurl -o /etc/yum.repos.d/epel-7-ali.repo http://mirrors.aliyun

2021-02-21 14:25:03 113

原创 Python部署docker实现远程集成

目录Docker一、安装docker二、容器的操作Docker一、安装docker安装实用工具yum install -y yum-utils device-mapper-persistent-data lvm2添加yum镜像yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo更新yum缓存yum makecache fast安装dock

2021-02-16 15:38:34 305 1

原创 python原生代码开发持续集成框架

目录思路整理1、源码处理2、编译和打包思路整理核心:利用Python调用os命令,利用Python组件库处理CI过程1、源码处理从源码库获取最新版本:SVN:checkout updata;git clone pull源代码最新版本的轮询,只要有程序员提交了代码,生成了一个新版本,则开始持续集成利用Python来直接执行SVN或者Git命令2、编译和打包Maven: mvn packege , ant:ant -f build.xmlsvn checkout svn地址 本机

2021-02-15 16:11:34 267 1

原创 robotframework-数据驱动

RobotFramework一、数据驱动二、行为驱动三、代码分层一、数据驱动创建suite,引起库创建一个user keyword创建case,填写数据,运行测试二、行为驱动和上面一样,创建关键字,不同的是把每一个步骤都分开创建为独立的,如图(部分,其他的格式一样)创建case,填写信息,运行。如图三、代码分层和Python写代码一样,为了方便管理页面元素的定位,需要将定位元素的代码单独抽离出来,分模块放在一起。1.创建一个项目2. 创建一

2021-02-12 23:38:29 706 2

原创 robotframework--UI\接口自动化测试

RobotFramework1、UI测试二、接口测试1、UI测试新建项目导入要用的库导入的库如果错了会有下图的红色提示新建一个用例操作谷歌访问百度运行查看结果二、接口测试导入库的时候需要导入RequestsLibrary...

2021-02-12 00:27:08 171

原创 Robot Framework-简单介绍

RobotFramework一、简介二、特点三、架构四、安装一、简介一款Python编写的通用的自动化测试框架具备良好的可扩展性支持关键字驱动可以同时测试多种类型的客户端或者接口可以进行分布式测试主要用于验收测试和验收开发(ATDD)二、特点易于使用,采用表格式语法,统一测试用户格式重用性好,可以采用现有关键字来组合新关键字支持变量支持创建基于数据驱动的测试用例结果报告和日志采用HTML的格式,易于阅读提供标签以分类和选择将被执行的测试用例平台、应用无关功能全面、支持协

2021-02-11 20:42:33 293

原创 charles抓包-ios-安卓

文章目录一、电脑安装安装 charles 根证书二、手机端配置(ios)三、手机端配置(安卓-以华为为例)一、电脑安装安装 charles 根证书二、手机端配置(ios)1、现在电脑端端口号2、设置手动HTTP代理 以上设定完成后,就可以charles中捕获手机请求了,第一次连接的时候charles会弹出确认提示框,选择 allow 就好了,后续可在 proxy -> access control settings 中进行管理: 3、虽然已经可以抓取移动设备的包了,但是

2020-11-18 00:02:10 483

原创 linux+apache+php+mysql+禅道

一、运行环境说明Apache + PHP(7.0/7.1/7.2版本) + MySQL(5.5/5.6/5.7版本)二、安装Apache服务依次执行如下指令,安装并开启 Apache 服务:1、安装Apache服务yum -y install httpd2、开启Apache服务systemctl start httpd.service3、Apache服务开机启动systemctl enable httpd.servicApache 其他运维命令:systemctl status

2020-08-22 21:41:43 291

原创 协程

协程1、是操作系统不可见的2、协程本质就是一条线程,多个任务在一条线程上来回切换3、利用协程这个概念实现的内容:来规避io操作,就达到我们将一条线程中的io操作降到最低的目的进程:数据隔离、数据不安全、操作系统级别、开销非常大、能利用多核线程:数据共享、数据不安全、操作系统级别、开销小、不能利用多核、一些和文件操作相关的io只有操作系统能感知到协程:数据共享、数据安全、用户级别、开销更小、不能利用多核、协程的所有的切换都是基于用户,只有在用户级别能够#感知到的io才会用

2020-08-05 23:48:35 101

原创 进程池、线程池

线程池#线程池from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutorimport randomfrom threading import current_threaddef fun(a,b): print(current_thread().ident,'start',a,b) time.sleep(random.randint(1,4)) print(current_thread().id

2020-08-05 22:13:47 131

原创 线程、守护线程、线程锁、递归锁、死锁、队列

线程from threading import Threadimport timedef fun(i): print(f'start{i}') time.sleep(1) print(f'end{i}')for i in range(10): Thread(target=fun,args=(i,)).start()守护线程import timefrom threading import Threaddef fun(): while Tru

2020-08-03 23:58:46 102

原创 python-进程、锁、队列

######进程from multiprocessing import Processimport osdef func(a,b): print(os.getpid(),os.getppid(),a,b) #pid子进程 ppid父进程if __name__ == "__main__": print('main:',os.getpid(),os.getppid()) p = Process(target=func,args=('aa',7)) p.start(

2020-07-27 22:32:35 157

原创 封装、反射、装饰器

####################################################class foo(object): def __init__(self): self.func() def func(self): print('a')class son(foo): def func(self): print('b')son()class foo(object): def __init__(sel

2020-07-02 23:37:17 157

原创 看代码猜结果

def add(n,i): return n+idef test(): for i in range(4): yield ig = test()for n in [1,10]: g = (add(n,i) for i in g)print(list(g))#########[20, 21, 22, 23]结果分析

2020-06-02 23:12:34 216

原创 python_可迭代对象与迭代器

可迭代对象字面意思:对象?Python中一切皆对象,一个实实在在的值,对象。可迭代:更新迭代,重复的,循环的一个过程,更新迭代每次都有新的内容,可以进行循环更新的一个实实在在的值专业的角度:内部含有’iter’方法的对象,可迭代对象。例如:str list tuple dict set range 文件句柄获取对象的所有方法且以字符串的形式表现:dir()判断一个对象是否是可迭代对象:s1 = 'fsjef'print('__iter__'in dir(s1))#

2020-05-31 16:36:12 204

原创 阿里云部署git与gitlab

阿里云服务器系统:CentOS 7.2 64部署GitLab环境1、安装依赖包sudo yum install -y curl policycoreutils-python openssh-server2、设置SSH开机自启动并启动SSH服务sudo systemctl enable sshdsudo systemctl start sshd3、安装Postfix来发送通知邮件...

2020-04-06 00:50:14 492

原创 百度爬取图片

import requestsimport redef getDatas(keyword, pages): """ :param keyword: 要爬取的值 :param pages: 要爬取的页数,每一页的数量是30条 :return: url的列表 """ params = [] for i in range(3...

2020-03-17 20:29:42 228

原创 rest framework-认证,权限,节流

认证1、主路由表from django.contrib import adminfrom django.urls import path, includeurlpatterns = [ path('admin/', admin.site.urls), path('certification/',include('certification.urls')),]2、AP...

2020-03-16 23:53:49 138

原创 希尔算法

先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,具体算法描述:选择一个增量序列 t1,t2,…,tk,其中 ti>tj,tk=1;按增量序列个数 k,对序列进行 k 趟排序;每趟排序,根据对应的增量 ti,将待排序列分割成若干长度为 m 的子序列,分别对各子表进行直接插入排序。仅增量因子为 1 时,整个序列作为一个表来处理,表长度即为整个序列的长度。def shell...

2020-02-23 22:44:21 116

TensorFlow-1.14.rar

TensorFlow-1.14的whl,包含其所需要的所有依赖包的whl包,本人是在server2012上安装的,所以附送的有我在服务器安装遇到的问题解决文档。

2020-03-04

空空如也

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

TA关注的人

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