
python
文章平均质量分 65
普通网友
这个作者很懒,什么都没留下…
展开
-
简易实现一个APP录制 自动保存所触发接口信息的小脚本
应用场景:比如你操作一个APP,从登录,添加商品到购物车,然后点击去结算,支付,最后成功支付,到达订单详情,这个时候,而这个脚本,就是将所这些操作触发的接口全部保存起来原理:原理实际上就是利用MitmProxy做中间人代理,后台通过一系列规则,然后获取到每个flow(也可以叫做一个请求上下文,也就是我们常说的,请求+响应一个完整的会话),然后将这些flow的数据全部存起来,最后写到excel中...原创 2020-03-22 22:24:09 · 841 阅读 · 0 评论 -
mac系统python3+MitmProxy代理环境安装
一:安装命令pip3 installmitmproxy -ihttps://pypi.douban.com/simple二:安装好了之后,你可以在终端输入mitmweb -p 8888 其中-p是指定端口启动,如果不指定则默认使用8080 此方式是网页模式(在网页查看)mitmdump-p 8888 其中-p是指定端口启动,如果不指定则默认使用8080 ...原创 2020-03-17 23:06:04 · 1509 阅读 · 0 评论 -
jenkins调用远程服务器执行shell命令
首先说一下应用背景:我们公司jenkins是安装在A服务器的,小编想要做一个脚本,功能很简单,就是根据输入项目编码,导出线上的数据库,然后在socure到对应的测试rds上面,但是呢,小编公司的A服务器并不具备导出的权限,而具有导出权限的只有服务器B,所以小编就写了脚本放在服务器B,然后再jenkins新增一个任务,远程调用服务器B的这个脚本,从而实现目的1.首先安装jenkins插件...原创 2020-03-16 22:06:55 · 2948 阅读 · 0 评论 -
mac系统搭建python+uiautomator2环境
介绍:这个主要用来弄安卓自动化,底层调用adb命令来驱动安卓设备,下面介绍在mac上安装环境一:首先电脑安装adb环境当然在mac系统下安装很方便,一个命令即可终端输入:brew cask install android-platform-tools如果跟我看到的一致 那么就是安装成功了当我们安装完成之后,需要检测下看看可以连接上你的真机操作步骤:1.通过数据线连接...原创 2020-03-14 23:39:53 · 3060 阅读 · 1 评论 -
python中类属性,类方法,实例属性,实例方法,静态方法的理解
一.首先初步介绍一下我所理解的类:可以理解成实例的模板实例:可以理解成类具体的一个对象其中 类里面有(类属性,类方法,静态方法) 实例中有(实例属性,实例方法)有关于什么时候用类方法, 什么时候用实例方法,什么时候用静态方法,小编给出一些建议:实例方法:实现的方法 需要访问实例属性(满足这个条件即可)类方法:实现的方法,仅仅只需要访问类属性静态方法:实现的方法...原创 2019-08-04 22:11:39 · 447 阅读 · 0 评论 -
python读取ini类型的配置文件
1.新建一个后缀名为ini的文件2.下面是使用方法 import configparserimport os# 读取配置文件 每个sections 就是ini文件中的一个[]curpath = os.path.dirname(os.path.realpath(__file__))cfgpath = os.path.join(curpath, "config/api_conf...原创 2019-02-21 17:36:58 · 642 阅读 · 0 评论 -
利用Python对京东商品进行批量申请保价
一、背景大家是否在京东购买过东西 我相信大部分的京东铁粉都知道 如果二个月内购买的商品出现了降价 我们可以申请报价 然后得到差价补偿,这个时候 如果我购买的东西比较多 一个个手点岂不是很麻烦?其次时间上你也不一定会记得这里小编告诉大家 申请报价的地方在 京东app->我的->客户服务->价格保护 也就是下图界面了 在这里 小编的是个空的 当然也就直白的告诉了大家 小编已经...原创 2019-02-02 15:58:19 · 1210 阅读 · 2 评论 -
crontab定时任务
一、用途定时运行一个shell或者Linux脚本(可能还有其他的用途 暂时介绍这个)二、如何用?a.在linux中 输入命令crontab -e 执行之后 会打开一个类似于vim编辑器的界面,这里如果你这个用户创建过任务的话 就会有相对应一条条的记录 比如b.在里面输入 执行周期(分 时 日 月 周 其中 * 代表运行 ) + 执行脚本 (命令 比如 py...原创 2019-02-02 15:34:15 · 1074 阅读 · 0 评论 -
python调用其他包里面的文件
一、目的:想在1文件中 调用2文件的内容二、相关知识点了解1.首先我们都知道,python导入模块默认会从python的path路径中进行搜取,这个你可以导入sys模块,在打印sys.path查看当前支持搜索的路径2.假设我们需要增加一个路径到path变量中,那么就可以使用sys.path.append("路径")就可以暂时增加到path路径中了。三、具体导入和调用的方法1...原创 2018-12-16 10:13:54 · 2675 阅读 · 0 评论 -
logging日志模块
一、使用logging日志 主要下面几个步骤1.创建一个logger(可以理解为“记录xx日志的人”)2.创建一个handler(可以理解为“记录的规则,比如啥等级的日志会记录下来”)3.定义一个fomatter(可以理解为“记录的格式” 比如一些需要的字段信息 等等)4.将创建logger 跟handler绑定起来(记录日志的人告诉他记录的规则)5.将handler跟foma...原创 2018-11-27 13:09:05 · 275 阅读 · 0 评论 -
python调用pytesseract识别某网站的验证码(实战项目)
一、首先安装 tesseract-ocr-setup-4.00.00dev.exe下载地址 链接:https://pan.baidu.com/s/1PFIrfNeUjmrXlUABS8SquA 提取码:dctm 1.直接安装2.安装完之后,将目录(C:\Program Files (x86)\Tesseract-OCR) 配置到path中 3.新建一个系统变量,名称为“ TESS...原创 2018-11-14 21:47:22 · 2084 阅读 · 0 评论 -
谷歌浏览器安装xpath helper
一、下载地址:链接:https://pan.baidu.com/s/1snD4Y7pBfh2uwd1q1qvA8Q 提取码:e3n3 二、打开谷歌浏览器,扩展程序,开启开发者模式将下载的文件 拖到浏览器,点击允许三、快捷键ctrl+shift+x调出xpath如果发现按下快捷键是截图 你肯定打开了360浏览器,直接修改下默认热键,或者关闭360浏览器...原创 2018-11-12 22:08:44 · 2715 阅读 · 0 评论 -
利用python爬取yapi中每个接口数据并且生成excel文档
一 、背景公司要做接口测试 然后所有的api数据都在yapi可视化接口管理平台中(不知道这个的可以百度查一下yapi),但是接口框架管理需要将所有的接口信息全部输入到excel中进行管理。 好了 问题来了 我们需要将yapi系统中所有的数据导入到excel,如果接口少那还好 我们手动就可以将接口信息写用例写在excel中了,但是这个始终不是明智之举,作为二十一世纪聪明的人类,我们得利用语言...原创 2019-02-19 22:47:37 · 3937 阅读 · 2 评论 -
实战项目一、安居客(北京) 二手房抓取房源信息
一、首先明确爬取的数据为安居客(北京)的二手房源的数据信息,主要有房源链接地址,房源价格,房源单价,房源规模,房源大小,房源建造年份,房源地址。https://beijing.anjuke.com/sale/p1/#filtersort二、分析网页和确定储存方式首先需要做的是确定翻页规则第一页 发现地址为第二页 发现地址为第三页 发现地址为细心的同学可能已...原创 2019-03-16 22:29:11 · 5201 阅读 · 3 评论 -
利用python 删除腾讯企业邮箱中多余的邮件
一、背景小编公司所有的是腾讯企业邮箱,因为公司自动化 所以总是自动给邮箱发送很多多余的邮件,但是有必须需要接收,于是小编写了一个脚本,定时清理这个邮件。二、思路首先,登录肯定是破不了的,于是小编采用的是cookie保持登录。三、代码# author:Administrator# datetime:2019/4/10 12:31# project_name:python_c...原创 2019-04-29 21:58:47 · 4661 阅读 · 0 评论 -
mac系统通过pyinstaller打包桌面应用程序
pyinstaller 支持在多个平台打包 打包命令均一样 在不同的平台打包 得到的就是对应平台的可执行文件之前小编是打包windows版本的 这个安装方式类似 装完之后 直接配置一下环境变量即可好了 现在我们介绍一下如何在mac系统上面进行打包python编写的应用程序一、首先 安装pyinstallerpip installer pyinstaller 二、安...原创 2019-07-03 20:11:46 · 16339 阅读 · 6 评论 -
python包
1.说明:包其实是一个包含多个模块的特殊目录目录下有一个特殊的文件__init__.py包名的命名方式和变量名一致 ,小写字母加下划线组成2.好处:可以一次性导入包中所有的模块3.__init__.py文件说明首先 包被导入的时候 会自动运行init文件中的代码其次 如果你想ide在导入包之后 智能提示对应的模块方法 只需要在__init__.py文件中指定对外界提...原创 2019-08-09 12:57:32 · 208 阅读 · 0 评论 -
python 打包模块 供他人使用
1.准备好一个模块 比如小编这里 有一个包名叫做package 里面有module1 module2二个模块其中module1.py文件写入其中module2.py文件写入其中__init__.py文件写入2.新建一个setup.p 跟包名同级目录3.进入终端执行命令 python3 setup.py build4.如...原创 2019-08-09 22:56:05 · 1002 阅读 · 0 评论 -
爬虫实战-爬取兴盛优选首页所有商品数据并写入excel
兴盛优选这个小程序很火,小编今天就教大家如何爬取兴盛优选的所有商品数据信息吧1.首先获取windowid这个请求是获取所有的windows的id的 这个请求实际返回windows brandHouseWindowsclassifyWindows 这三个其实都返回了windowId 通过观察我们可知windows里面的是包含所有的 所以我们只需要对他进行遍历即可https:/...原创 2019-08-15 22:37:57 · 4113 阅读 · 7 评论 -
python中 队列的理解
python中 小编了解的总共有三种队列 分别是fifo先进先出 还有lifo先进后出 其次还有priority优先级的队列(数字越小 优先级别越高)下面小编就给大家分别介绍一下三种队列的用法 和一些注意情况一 fifo队列 也叫先进先出队列 意思是 先放进队列的 会优先出去进行消费 比如 看下方代码import queue as myqueue"""fifo 先进先出队...原创 2019-09-28 12:54:27 · 753 阅读 · 0 评论 -
命名元组的使用
适用场景:适合表示“只有数据”的情况,但是需要注意,这种情况是便于可读,不允许修改的from collections import namedtupleCase = namedtuple("Case", "case_name params url path")case1 = Case("测试登录-正常情况", {'username': 'xiejiangpeng', 'passwd':...原创 2019-10-02 15:09:14 · 313 阅读 · 0 评论 -
python3 复杂数据 根据key名 直接提取所有符合要求的value值
代码如下def get_valuelist_by_key(cls, json_data, find_key): """根据find_key查询json_data中所有的value 返回所有满足条件的列表--深度遍历 :param json_data: 匹配的json字符串,json_data必须为dict或者list :param find_key: key名...原创 2019-10-06 21:37:29 · 1267 阅读 · 0 评论 -
利用python检查系统中权限不足的接口地址
解决的问题:检测公司发布系统之中,遗漏的接口路径地址。采取的方法:爬取yapi管理后台,爬取所有的接口路径,同时检测这个path路径是否在发布系统之中(如果不在发布系统之后,通过域名访问,会提示没有权限)好了了解了背景之后 我就开始开工了。一、了解yapi 在这里小编看到了 左边是产品 右边是产品对应的模块名称 点击模块名称 我们可以看到很多个接口地址。二、分析问题...原创 2018-11-09 13:13:29 · 1600 阅读 · 0 评论 -
在linux下安装python3(独立安装)
linux本身自带有一个Python2.7的版本,但是我们也可以在装一个python3.x的版本 1.准备编译环境(记住 make & make install的时候 如果所依赖的包不完全的话 会报错)yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-d...原创 2018-01-03 20:47:11 · 5716 阅读 · 0 评论 -
Python读取txt文件数据(用于接口自动化参数化数据)
小试牛刀:1.需要python如何读取文件2.需要python操作list3.需要使用split()对字符串进行分割代码运行截图 : 代码(copy) #encoding=utf-8#1.range中填写的数据 跟txt中行数保持一致 默认按照空格分隔f_space = open(r"C:\Users\Administrator\Desktop\Sp...原创 2018-06-27 17:27:58 · 6118 阅读 · 0 评论 -
pycharm安装模块时 AttributeError: 'module' object has no attribute 'main'解决办法
1.错误截图2.解决办法 在D:\python3.6\PyCharm Community Edition 2017.3.3\helpers\packaging_tool.py中找到下方代码def do_install(pkgs): try: import pip except ImportError: error_no_pip() return pip...原创 2018-06-19 21:51:29 · 4502 阅读 · 1 评论 -
requests接口自动化高级篇(PyMySQL查询的结果作为request的参数进行传输)
背景:小编最近写了一个接口自动化的步骤,主要分为以下几个部分1.随机账号登录微信商城2.提交订单 生成订单单号3.订单进行余额支付或者在线支付4.后台订单分拣对于后台订单分拣,小编发现,他只是传了一个Id就对商品进行分拣了,所以小编觉得,应该是数据库存储了这个唯一的Id,而这个id,绑定了订单号,小编通过数据库查询得知,可以根据订单号在订单表查询出order_id,之后跟订单商品表进行查询orde...原创 2018-06-26 13:41:06 · 1383 阅读 · 0 评论 -
Django中session的使用
想理解cookie的请看上面一篇博客这次给大家了解的是session介绍:session相对比cookie是要安全很多,session就像是银行卡,客户拿到的只是一个银行卡卡号(也就是浏览器的sessionid),用户的存钱,取钱记录,都是根据银行卡号保存在银行的系统里面(web 服务器端),所以只是得到一个sessionid是没什么用的1.首先在views视图中配置2.跟cookie类似,接下来...原创 2018-06-07 13:05:36 · 1256 阅读 · 0 评论 -
Django 遇到UnicodeDecodeError 解决办法(cookie的设置)
背景 通过登录之后 后台服务器对前端设置cookie,同时获取cookie中user的值 通过div标签展示在登录成功的html界面1.问题分析,在views中也设置了utf8 、html同样设置了utf8 ,结果浏览器总是提示unicode编码什么错误,发现去除中文正常2.问题解决办法,将出问题的文件(小编这里是html) 另存为utf-8的格式,重新访问 问题解决...原创 2018-06-07 10:42:40 · 1536 阅读 · 0 评论 -
Django新建web项目
1.首先使用pip安装django版本的话我选择的1.10.32.然后配置环境变量 将django-admin.exe上级目录 配置到path路径中3.创建项目 使用命令django-admin.exe startproject projectname(项目名称)4.创建app 使用命令django-admin.exe startapp projectnameapp(项目app名称)5.在项目文件...原创 2018-06-05 11:58:31 · 270 阅读 · 0 评论 -
requests post请求时参数复杂化解决办法
一.接口抓取步骤1.今天给大家演示的是参数中附带一个json列表的应该怎么处理,首先,准备抓包工具(浏览器也行,只是这个工具能够准确反应请求格式,记住是格式)2.如下图:commodity_list所对应的就是[{json}],然后下面一堆字段,然后对应值,很清晰很明了,编写自动化的时候,可以直接复制替换到params或者data中的数据。3.当然,你也可以选择参照接口文档,但是如果你们开发偷点小...原创 2018-03-19 22:47:39 · 4585 阅读 · 0 评论 -
requests库 接口测试(python)
一、编译环境的准备1.安装python以及pycharm 这个可以参照小编的文章(http://blog.youkuaiyun.com/tester_xjp/article/details/79264364)2.安装完毕之后,打开pycharm 新建一个python工程,然后导入requests-aws4auth包,详细看下图3.小编在成功之前是尝试过n次的,但是一直提示失败,然后小编最后才发现,原因在于我...原创 2018-03-18 21:53:04 · 599 阅读 · 0 评论 -
python基础(一)
1.range函数a)第一种情况for i in range(10) 循环十次,其中i的值从0取值到9b)第二种情况 in range(1,10)从1顺序的取到10 步伐为1 但是不包括10,如果是in rangle(10,1)这个是错误的,必须写成in rangle(10,1,-1)c)第三种情况 in range(1,10,2) 从1顺序的取到10 步伐为2例子截图:此...原创 2018-01-04 16:12:52 · 829 阅读 · 0 评论 -
python 有序字典的使用(OrderedDict)
普通的dict是无须的 所以当我们需要有序的储存一个字典的时候 可以用到 OrderedDict#ecoding=utf-8#有序字典的使用from collections import OrderedDictOrdereddict=OrderedDict()Ordereddict["name"]="xiejiangpeng"Ordereddict["sex"]="boy"...原创 2018-08-07 12:33:35 · 673 阅读 · 0 评论 -
快速将Request参数 快速转化成Dict格式
用过python requests的同学都知道 当我们发起一个Post请求的时候 会将请求中的body写成dict来进行发送,当然大家应该都看到过参数有几个的 或者说十几个的 甚至几十个的也有,所以 当我们使用十几个或者几十个的时候 手打成dict是不是感觉很繁琐呢?今天小编写了一个小程序 就可以解决这个问题:Python2.7版本代码:#ecoding=utf-8"""本程序主...原创 2018-08-07 16:41:49 · 3686 阅读 · 0 评论 -
python安装支持包 报错 is not a supported wheel on this platform
1.使用Pip安装本地文件的时候 报错 提示信息如下 (选择的amd64以为是操作系统是64位) 2.实际上 主要版本如何下载 https://www.lfd.uci.edu/~gohlke/pythonlibs/注意点:cp后面对应的是Python版本 比如cp27代表对应的就是python2.7 amd64实际上不是系统位数 而是对应的...原创 2018-08-03 11:00:47 · 3312 阅读 · 0 评论 -
python代码规范 以及如何处理Pycharm的波浪号警告
一.命名规范1.模块名和包名采用小写字母并且以下划线分隔单词的形式;如:regex_syntax,py_compile,_winreg2.类名或异常名采用每个单词首字母大写的方式;如:BaseServer,ForkingMixIn,KeyboardInterrupt3.全局或者类常量,全部使用大写字母,并且以下划线分隔单词;如:MAX_LOAD4.其余变量命名包括方法名,函数名,普...原创 2018-10-30 13:30:16 · 7083 阅读 · 0 评论 -
对PyMySql简单的二次封装
本人新手,刚开始上手类,代码不规范的地方,大家可以直接评论在下面 。本次是基于PyMySql的的二次封装, 所以运行此代码之前 首先安装PyMySQL在cmd中运行“pip install PyMySql” 安装即可,先来一个实际运行截图 好了献上源代码一份# author: xiejiangpeng# time:2018/10/28/11:03# vers...原创 2018-10-29 23:10:04 · 1399 阅读 · 0 评论 -
Python基础(三)
本次介绍一点 python中的标准库和一些最爱,同时介绍一下他们主要要意思的方法一、sys模块介绍import sys#1.输出一个一个列表,其中列表中只有一个元素 那就是当前运行文件的路径print(sys.argv[0])#2.退出程序 可以选参数 给定的返回值和错误提示信息print(sys.exit(["程序错误了"]))#3.映射模块名字载入到模块的字典for k...原创 2018-09-11 13:06:28 · 362 阅读 · 0 评论 -
Python基础(二)
有关于Python基础(一) 见:https://blog.youkuaiyun.com/Tester_xjp/article/details/78971608其中包含了,基础语法,基本类型的一些操作和方法,以及类和类型,继承,函数,与异常等基础知识本篇小编就从魔法方法,开始介绍python基础一、魔法(特殊)方法a.__init__构造方法(魔法方法的一种):当一个对象被创建之后,会立即调用...原创 2018-08-31 15:37:49 · 404 阅读 · 0 评论