自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(94)
  • 收藏
  • 关注

原创 python实现Content-Type类型为application/x-www-form-urlencoded发送POST请求

在实际编码的过程中经常遇到header的Content-Type的类型主要是application/json格式,我这里也没有考虑到与application/x-www-form-urlencoded区别还按照以前方式来写代码,每次请求都会提示"缺少必要参数",我这里明明已经传入body数据为什么依然报错,所以回头查询下文档,发现Content-Type的类型为application/x-www-form-urlencoded时,body的格式不是json格式,所以会报错。

2022-10-20 14:26:27 2050

原创 python实现模拟器的重启

Python 代码实现模拟器的重启操作

2022-06-29 19:07:15 834

原创 appium连接真机切换webview不成功的问题处理(安卓)

appium连接真机1.微信版本 8.0.22 (在手机浏览器上搜索豌豆荚微信下载,往下拉找到对应的微信版本号)2.在任意输入框内输入:http://debugxweb.qq.com/?inspector=true 打开微信debug (点进去正确弹出页面即可)3.oppo机型的微信 8.0.22版本内的Chrome驱动/version是 97,华为的微信 8.0.22版本内的Chrome驱动/version是88, 如果不确定微信版本对应的Chrome/version,先运行程序切换webview 等

2022-06-01 11:01:44 867

原创 adb常见问题及常用方法

【问题】程序突然报错:daemon not running; starting now at tcp:5037【原因】是因为5037端口被占用【方法】找到5037端口占用的应用,关闭该应用的进程打开cmd命令窗口输入netstat -ano | findstr “5037”这里是5244占用程序继续输入taskkill -f -pid 5244...

2022-05-26 13:43:14 606

原创 大致记录Appium配置抓取H5页面容易出现的错误

1.提示你版本错误,这个问题网上一大堆的教程,手机上下载谷歌浏览器然后再下载对应Chromedriver版本放在C:\Program Files (x86)\Appium\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win (你的appium目录夏)2.跳转webview失败 但是Chromedriver对应的上,那就是你的adk版本不够!!!3.没有webview只有本地的那个app句柄

2022-05-09 17:58:27 662

原创 MySQL行转列与列转行

MySQL行转列与列转行新增数据 直接复制粘贴运行即可测试CREATE TABLE `TEST_TB_GRADE` ( `ID` int(10) NOT NULL AUTO_INCREMENT, `USER_NAME` varchar(20) DEFAULT NULL, `COURSE` varchar(20) DEFAULT NULL, `SCORE` float DEFAULT '0', PRIMARY KEY (`ID`)) ENGINE=InnoDB AUTO_INCREM

2021-10-12 18:13:42 88

原创 记录pandas中的concat拼接数据存入mysql中缺少列的问题

问题描述: 因项目需求,我使用concat拼接数据存入mysql中缺少某一些列的,代码运行不抱任何的错误,唯一就是缺少列.问题原因: 字段名重复解决思路:具体想法因项目而定,这里做的是循环 第一次运行和第二次运行,也可if判断1. concat函数参数介绍:axis :默认为0,为按行拼接;1 为按列拼接ignore_index: 默认为False,会根据索引进行拼接;True 则会忽略原有索引,重建新索引join: 为拼接方式,包括 inner,outersort: True 表示按.

2021-10-12 18:07:20 355

原创 python代码实现任意日期的打印

1

2021-07-22 15:39:51 276

原创 pycharm删除的文件找回步骤

有遇到PyCharm不小心删除文件的时候,可以通过以下方式将其找回。右击项目——>选择【local history】——>点击【Show History】——>点击之后可以看到自己的删除记录,一般在第一条,点击【Revert】一般即可恢复...

2021-07-03 11:41:06 3484

原创 MySql查询某个日期内的数据

select * from wp_data where time BETWEEN "2021-04-01" and "2021-04-30"

2021-07-02 16:24:55 529

原创 操作文件时报错:zipfile.BadZipFile: File is not a zip file

记录个人在抒写代码时追求解耦性,想让程序去看看这个路径文件是否存在对文件或者路径操作通常是使用os模块, 如不存在则在当前路径下创建文件进行后续一系列的操作。 据我了解os模块并没有给出创建文件的方法,这是需要我们通过另行其路去完成’道路千万条安全第一条‘,当时采用的是通用with open 去创建文件,ok没有问题,创建成功,接下来问题就来了 进行数据储存的时候 zipfile.BadZipFile: File is not a zip file的错误,说什么不是zip的文件 正在赶工,突然灵光一闪 已经

2021-06-09 17:23:21 4941

原创 os模块:文件所在目录位置

print(os.path.dirname(os.path.abspath(__file__)))

2021-06-09 16:14:09 405

原创 案例:使用正则表达式的爬虫

案例:使用正则表达式的爬虫现在拥有了正则表达式这把神兵利器,我们就可以进行对爬取到的全部网页源代码进行筛选了。下面我们一起尝试一下爬取内涵段子网站: http://www.neihan8.com/article/list_5_1.html打开之后,不难看到里面一个一个灰常有内涵的段子,当你进行翻页的时候,注意url地址的变化:第一页url: http: //www.neihan8.com/article/list_5_1 .html第二页url: http: //www.neihan8.c..

2021-06-07 18:17:12 509

原创 Scrapy 框架流程图含介绍

Scrapy 框架Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用了 Twisted['twɪstɪd](其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。Scrapy架构图(绿线是数据流向):Scrap.

2021-06-07 18:14:08 276

原创 机器视觉与Tesseract介绍

机器视觉从 Google 的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广 泛且具有深远的影响和雄伟的愿景的领域。我们将重点介绍机器视觉的一个分支:文字识别,介绍如何用一些 Python库来识别和使用在线图片中的文字。我们可以很轻松的阅读图片里的文字,但是机器阅读这些图片就会非常困难,利用这种人类用户可以正常读取但是大多数机器人都没法读取的图片,验证码 (CAPTCHA)就出现了。验证码读取的难易程度也大不相同,有些验证码比其他的更加难读。将图像翻译成文字一般被称为光学文字识别.

2021-06-07 18:12:55 250 1

原创 网页数据循环提取后使用pandas存储xlsx格式

def get_list_info(self): start = 1 # 初始化行名 df1 = pd.DataFrame(columns=['名称', '抖音号', '粉丝数', '带货口碑', '推广商品数', '关联视频', '关联直播', '互动量', '预估销量(件)', '预估销售额']) while True: print('正在抓取第{}页'.format(start))

2021-06-07 18:11:01 139

原创 XPath与lxml类库

有朋友说,我正则用的不好,处理HTML文档很累,有没有其他的方法?有!那就是XPath,我们可以先将 HTML文件 转换成 XML文档,然后用 XPath 查找 HTML 节点或元素。什么是XMLXML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 的标签需要我们自行定义。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准W3School官方文档:http..

2021-06-04 14:55:54 211

原创 Requests: 让 HTTP 服务人类

Requests: 让 HTTP 服务人类虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更简洁方便。Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用:)Requests 继承了urllib2的所有特性。Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容.

2021-06-04 14:53:39 316

原创 (了解)通用爬虫和聚焦爬虫

通用爬虫和聚焦爬虫根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.通用爬虫通用网络爬虫 是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。通用搜索引擎(Search Engine)工作原理 通用网络爬虫 从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果。第一步:抓取网页.

2021-06-04 14:41:53 979

原创 简单介绍一下爬虫:爬虫是什么?为什么要做爬虫?

为什么要做爬虫?首先请问:都说现在是"大数据时代",那数据从何而来?企业产生的用户数据:百度指数、阿里指数、TBI腾讯浏览指数、新浪微博指数数据平台购买数据:数据堂、国云数据市场、贵阳大数据交易所政府/机构公开的数据:中华人民共和国国家统计局数据、世界银行公开数据、联合国数据、纳斯达克。数据管理咨询公司:麦肯锡、埃森哲、艾瑞咨询 爬取网络数据:如果需要的数据市场上没有,或者不愿意购买,那么可以选择招/做一名爬虫工程师,自己动手丰衣足食。拉勾网Python爬虫职位爬虫是什么?百.

2021-06-04 14:39:32 391

原创 异步方案Celery

Python中代码是自上而下同步执行的,在我们书写某一些代码中响应延迟后会造成某些功能被延迟这对用户体验角度来说非常差这时我们就引入生产者消费者设计模式方案,那他是什么呢? 就是两个程序代码分开执行,将某一段代码从主业务中解耦出来生产者消费者设计模式介绍它是最常用的解耦方式之一,寻找中间人(broker)搭桥,保证两个业务没有直接关联Celery的介绍和使用一个简单.灵活且可靠...

2020-01-12 10:25:07 208 1

原创 分布式ID->雪花算法

雪花算法-SnowflakeSnowflake是Twitter提出来的一个算法,其目的是生成一个64bit的整数:1bit:一般是符号位,不做处理41bit:用来记录时间戳,这里可以记录69年,如果设置好起始时间比如今年是2018年,那么可以用到2089年,到时候怎么办?要是这个系统能用69年,我相信这个系统早都重构了好多次了。10bit:10bit用来记录机器ID,总共可以记录102...

2019-11-14 11:02:20 691

原创 数据库理论

1.复制集和分布式1.复制集 ( Replication)数据库中数据相同, 起到备份的作用高可用 High Available HA2 .分布式( Distribution )数据库中数据不同,共同组成完整的数据集合通常每个节点被称为一个分片(shard)高吞吐 High复制集与分布式可以单独使用,也可以组合使用(即每个分片都组建一个复制集)关于主(Master)从(S...

2019-11-14 10:53:34 187

原创 SQLAIchemy操作

1.新增ser = User(mobile='15612345678', name='itcast')db.session.add(user)db.session.commit()profile = Profile(id=user.id)db.session.add(profile)db.session.commit()批量添加如下语法:db.seesion.add_all([u...

2019-11-12 21:31:15 314

原创 SQLAIchemy映射重建

简单介绍一下它吧SQLAlchemy是Python编程语言下的一个嵌入式软件。提供了SQL工具包以及对象关系映射(ORM)工具,使用MIT许可证发行。SQLAlchemy“采用简单的Python语言,为高效和高级的数据库访问设计,实现完整的企业级持久模型”。SQLAlchemy首次发行于2006年2月,并迅速地在Python社区中最广泛使用的ORM工具之一,不亚于Django的ORM框架。...

2019-11-12 21:05:03 168

原创 响应处理

1序列化数据Flask-RESTful提供了marshal工具,有助于帮助我们将数据序列化为特定格式的字典数据,刹车作为视图的返回值。from flask_restful import Resource, fields, marshal_withresource_fields = { 'name': fields.String, 'address': fields.Stri...

2019-11-12 20:44:06 125

原创 restful-装饰器

使用method_decorators添加装饰器为类视图中的所有方法添加装饰器def decorator1(func): def wrapper(*args, **kwargs): print('decorator1') return func(*args, **kwargs) return wrapper def d...

2019-11-12 20:34:51 134

原创 RESTful

Flask-RESTful是用于快速构建REST API的Flask扩展。安装pip install flask-restful实例代码:from flask import Flaskfrom flask_restful import Resoure,Apiapp = Flask(__name__)api = Api(app)class HelloWorldResource(...

2019-11-12 20:30:35 77

原创 app_context 与 request_context

思考:如果说在Flask程序未运行的情况下,调试代码时需要使用current_app、g、request这些对象,会不会有问题?该如何使用?app_contextapp_context为我们提供了应用上下文环境,循序我们在外部使用应用上下文current_app、g可以通过with语句进行使用>>> from flask import Flask>>&gt...

2019-11-12 20:26:15 521

原创 login状态保持

状态保存1.用户登入本质:1.状态保持将通过认证的用户的唯一标识信息(比如:用户ID)写入到当前浏览器的 cookie 和服务端的 session 中。2.login()方法Django用户认证系统提供了login()方法。封装了写入session的操作,帮助我们快速登入一个用户,并实现状态保持。3.login()位置django.contrib.auth.__init_...

2019-11-10 19:19:07 726

原创 配置logging工程日志

1.配置工程日志LOGGING = { 'version': 1, 'disable_existing_loggers': False, # 是否禁用已经存在的日志器 'formatters': { # 日志信息显示的格式 'verbose': { 'format': '%(levelname)s %(asctime)s %(m...

2019-11-10 18:49:54 343 1

原创 配置Redis数据库

1. 安装django-redis扩展包1.安装django-redis扩展包pip install django-redis2. 配置Redis数据库CACHES = { "default": { # 默认 "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0...

2019-11-10 18:42:01 125

原创 配置MySQL数据库

1. 新建MySQL数据库1.新建MySQL数据库:meiduo_mallcreate database meiduo charset=utf8;2.新建MySQL用户create user itheima identified by '123456';3.授权itcast用户访问meiduo_mall数据库grant all on meiduo.* to 'itheima'@'%...

2019-11-10 18:38:52 120

原创 配置Jinjia2模板引擎

1.安装Jinjia扩展包pip install Jinja22.配置Jinji2模板引擎3.补充Jinja2模板引擎环境确保可以使用模板引擎中的{{ static(’’) }}、{{ url(’’) }}这类语句创建Jinja2模板引擎环境配置文件编写Jinja2模板引擎环境配置代码from jinja2 import Environmentfrom django.cont...

2019-11-10 18:33:37 736

原创 配置Django开发环境

1.首先创建Django工程django-admin startproject (工程名)注:这里是为了简写,良好的习惯是创建一个虚拟环境,在虚拟环境里面创建Django项目工程文件夹2.新建配置文件1.准备配置文件目录新建包,命名为settings,作为配置文件目录2.准备开发和生产环境配置文件在配置包settings中,新建开发和生产环境配置文件3.准备开发环境配置内容将...

2019-11-10 18:25:58 186

原创 上下文

上下文Flask中有两种上下文,请求上下文和应用上下文Flask中上下文对象:相当于一个容器,保存了 Flask 程序运行过程中的一些信息。请求上下文在 flask 中,可以直接在视图函数中使用 request 这个对象进行获取相关数据,而 request 就是请求上下文的对象,保存了当前本次请求的相关数据,请求上下文对象有:request、sessionrequest封装了HTTP...

2019-11-08 16:31:15 127

原创 请求钩子

请求钩子在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如:在请求开始时,建立数据库连接;在请求开始时,根据需求进行权限校验;在请求结束时,指定数据的交互格式;为了让每个视图函数避免编写重复功能的代码,Flask提供了通用设施的功能,即请求钩子。请求钩子是通过装饰器的形式实现,Flask支持如下四种请求钩子:before_first_request 在处理第一个...

2019-11-08 16:27:10 138

原创 异常处理和捕获异常

异常处理http异常主动抛出方法抛出一个给定状态代码的HTTPException或指定响应,例如想要用一个页面未找到异常来终止请求,你可以调用abort(404)。参数:代码—> HTTP的错误状态码# abort(404)abort(500)注: 抛出状态码的话,只能抛出HTTP协议的错误状态码捕捉错误errorhandler装饰器注册一个错误处理程序,当...

2019-11-08 16:20:07 207

原创 cookie与session

cookie设置resp = make_respomse()resp.set_cookie(cooker名, cookie值) # 临时cookieresp.set_cookie(cookie名, cookie值, 有效期)读取request.cookies.get(cookie名)清除resp.delete_cookie(cookie名)Coo...

2019-11-08 16:05:49 108

原创 转换器

flasl转化器@app.route(’/users/<name_id>’) # 匹配任意格式的字符串(此处<>就是一个转换器,默认为字符串类型,user_id为参数名传入视图)整型匹配数据@app.route('/users/<int:user_id>')def user_info(user_id): print(type(user_...

2019-11-08 16:02:58 231

空空如也

空空如也

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

TA关注的人

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