python
唐宋缘明卿_cris
这个作者很懒,什么都没留下…
展开
-
python 提取域名、根域名
提取url链接根域名topRootDomain = ( '.com', '.la', '.cn', '.io', '.co', '.info', '.net', '.org', '.me', '.mobi', '.us', '.biz', '.xxx', '.ca', '.co.jp', '.com.cn', '.net.cn', '.org.cn', '.mx', '.tv', '.ws', '.ag', '.com.ag', '.net.ag', '.org.ag',原创 2021-07-09 13:56:47 · 1304 阅读 · 0 评论 -
python3 处理电话号,保留有前缀的电话号
业务场景:方法:def handle_same_phone(phone_list): if not phone_list: return [] phone_list = list(set(phone_list)) phone_list = sorted(phone_list, key=lambda x: len(x), reverse=True) _d = {} __p1 = [] __p2 = [] for i in phone原创 2021-07-05 11:25:48 · 287 阅读 · 0 评论 -
马甲包简介
了解马甲包1、什么是马甲包马甲包是利用App store 规则漏洞,通过技术手段,多次上架同一款产品的方法。马甲包和主产品包拥有同样的内容和功能,除了icon和应用名称不能完全一致,其他基本一致。2、为什么做马甲包,做马甲包有什么好处?抗风险正常情况下,任何一款产品都是要不断的更新功能的。如果我们直接在主包上更新,一旦新功能不被用户接受那就损失大了,我们前期大量投资带来的用户将会流失,这对很多产品开发者来说是不可承受之痛。如果使用马甲包,则可以随意测试新功能,好的功能就在主包上迭代,不好的也无原创 2021-07-01 14:31:28 · 620 阅读 · 0 评论 -
python处理html符号转义
Python处理HTML转义字符在抓网页数据经常遇到例如>或者 这种HTML转义符,抓到字符串里很是烦人。比方说一个从网页中抓到的字符串:p =’<abc>’用Python可以这样处理:import htmlp = '<abc>'txt= html.unescape(p)print (txt)#这样就得到了txt= '<abc>'如果还想转回去,可以这样:import cgiq = cgi.escape(html)原创 2021-06-10 10:09:11 · 1865 阅读 · 2 评论 -
python 去除字符串中的特殊字符
去除字符串中的中英文特殊字符import stringfrom zhon.hanzi import punctuation as pun_zh # 导入zhon.hanzi 这个包(中文字符def replace_symbol(content): '''去除所有符号。''' pat_list = ["₰", "¥", "《", "¥", "€", "$", "₤", "₳", "¢", "¤", "฿", "฿", "₵", "₡", "₫","₲", "原创 2021-06-10 10:04:43 · 1710 阅读 · 2 评论 -
python时间处理相关方法汇总。
# encoding:utf-8import timeimport datetimeimport calendarfrom dateutil import parserfrom datetime import timedeltaclass TimeCore: @classmethod def local_format(self, fmt='%Y-%m-%d %H:%M:%S'): '''获取当前时间格式化 ''' return原创 2021-03-11 11:56:44 · 223 阅读 · 2 评论 -
使用redis解决单点登录问题
目录实现流程(穿插在登录流程中)在整理单点登录的实现方式的时候,当时只说了“使用redis作为缓存储存session信息”这样的方式来实现单点登录,今天我们来看看具体的实现流程吧!实现流程(穿插在登录流程中)1、登录页面提交用户名密码。2、登录成功后生成token。Token相当于原来的sessionid,字符串,可以使用uuid。3、把用户信息保存到redis。Key就是token,value就是User对象转换成json。4、使用String类型保存Session信息。可以使用“前缀:to原创 2020-06-15 20:05:49 · 1064 阅读 · 1 评论 -
Python 判断链表是否有环?
问题描述给定一个链表,如何判断该链表是否成环?解题思路首先,一听到这个问题,脑子一下子映出下面这幅链表成环的图:快慢指针为啥在有环的链表中为啥一定会相遇因为快慢指针的差距不管有多少 他们速度不同在环形结构上会逐渐缩小一步直到相遇代码实现class ListNode: def __init__(self, val): self.val = val self.next = None# 借助辅助空间# class Solution:#原创 2020-06-09 18:39:47 · 607 阅读 · 0 评论 -
Python常见的数据类型的底层实现
目录一体式结构与分离式结构的区别:list的基本实现技术dict的实现技术常见的哈希碰撞解决方法Python数据类型之set数据类型决定数据在内存中所占用空间大小一体式结构与分离式结构的区别:如果增加元素超过了列表的最大存储量时,则需要新建一个数据区一体式结构若想更换数据区,则要整体更改分离式结构则只需要更改表信息区中的数据区链接地址即可,顺序表对象不变list的基本实现技术Python标准类型list就是一种元素个数可变的线性表,可以加入和删除元素,并在各种操作中维持已有元素的顺序(即保原创 2020-06-09 18:13:01 · 687 阅读 · 0 评论 -
django+rest_framework+jwt自带验证系统
目录django rest_frameworker jwtJWT 登录验证的扩充JWT 权限验证JWT权限扩充JWT修改密码:django rest_frameworker jwt首先需要声明,rest_frameworker jwt 是基于django自带的认证系统来实现的(也就是说我们的用户表(user)直接继承django自带的AbstractUser表,在此基础上添加字段)rest_frameworker jwt token的生成:from rest_framework_jwt.set原创 2020-06-03 08:31:55 · 474 阅读 · 0 评论 -
Django中websocket的实现
目录前言一、使用`dwebsocket`实现二、使用channels实现websocket前言最近在完成项目中需要用到实时技术,项目需求是将后端的一个文件内容实时读取然后发送到前端。这里主要涉及到两个技术:一个是后端如何实时读取一直在更新中的数据,另一点是如何保证web前后端的通讯,能将读取到的数据实时传送给前端。老版本是使用ajax轮询实现即时的,但是,有个很严重的问题就是前端一直在get请求,导致极大的占用带宽,占用服务器的处理资源。后来加入修改,将每次发送的请求间隔1s,发现仍然是十分浪费带宽原创 2020-06-02 17:59:47 · 935 阅读 · 0 评论 -
Django中,关于中间件的那些事儿
目录中间件(middleware)Django默认的中间件中间件中的方法process_requestprocess_viewprocess_template_responseprocess_exceptionprocess_response中间件(middleware)中间件应用于request与服务端之间和服务端与response之间,客户端发起请求到服务端接收可以通过中间件,服务端返回响应与客户端接收响应可以通过中间件,也就是说中间件可以处理request和response。Django默认的原创 2020-06-02 17:44:14 · 313 阅读 · 0 评论 -
Django-ORM之自关联表结构+处理平行数据
目录什么是自关联表结构在Django中创建自关联表(一对多)在Django中如何查询什么是自关联表结构表内自关联是指表内数据相关联的对象和表是相同字段,这样我们就直接用表内关联将外键关联设置成自身表的字段。同样表内关联也分一对多字段和多对多字段。例如:对于微博评论,每条评论都可能有子评论,但每条评的字段内容应该都是相同的,并且每条评论都只有一个父评论,这就满足了,一对多的情形。父评论为关联字段,可以对应多个子评论,这就是一对多的自关联。再比方说,我们国家的省市县信息的存储上面,就是一个很典型的自关原创 2020-06-02 11:23:08 · 538 阅读 · 0 评论 -
前端Vue上传图片到七牛云&后端Django上传图片到七牛云
目录前言上传方式Vue上传图片到七牛云Django上传图片到七牛云前言在开发项目的时候,经常会用到上传图片的功能,如果把图片全都存放在项目路径下,会导致项目越来越臃肿,因此可以考虑把图片上传交给第三方处理,此处采用七牛云进行图片存储。经过测试,通过七牛云获取图片确实比直接通过自己的服务器获取的速度要快得多,赶快去注册七牛云吧。上传方式上传图片的方式有两种:通过服务器:将文件传到服务端,由服务端上传到七牛云通过前端JS:将文件直接从JS上传到七牛云。两种方式都可以完成上传,但原创 2020-06-01 18:51:53 · 494 阅读 · 0 评论 -
Python你必须要了解的一些点——正则表达式
正则1. 正则表达式基础1.1 简单介绍1.2. 数量词的贪婪模式与非贪婪模式1.3. 反斜杠的困扰1.4. 匹配模式2. re模块2.1. 开始使用re2.2. Match2.3. Pattern3. 正则匹配模式match对象方法详细用法1. 正则表达式基础1.1 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是原创 2020-05-31 17:31:50 · 359 阅读 · 0 评论 -
数据结构——二叉树的python实现
二叉树的python实现一、二叉树的定义与基本性质二叉树的实现&遍历二叉树的实现二叉树的遍历一、二叉树的定义与基本性质二叉树(Binary Tree)是一种特殊的树型结构,它的特点是每个结点至多有两棵子树(即二叉树中不存在度大于2的结点),且二叉树的子树有左右之分,其次序不能任意颠倒(有序树)。 根据二叉树的定义,其具有下列重要性质:在二叉树的第i层上至多有2^{i-1}个结点(i≥1)。深度为k的二叉树至多2^k-1有个结点(k≥1)。对任何一棵二叉树,如果其叶子节点数为n0,度为原创 2020-05-31 16:58:16 · 1698 阅读 · 0 评论 -
数据结构——栈&队列的python实现
栈&队列的python实现栈的python实现队列的python实现栈的python实现• 栈(也称下压栈,堆栈)是仅允许在表尾进行插入和删除操作的线性表。• 栈是一种后进先出的线性表class Stack(object): def __init__(self): self.stack=[] def tianjia(self,item): self.stack.append(item) def tanchu(self): ifself.stack==[]:原创 2020-05-31 16:38:30 · 248 阅读 · 0 评论 -
数据结构——链表&双链表的python实现
链表的python实现单链表的实现双链表的实现单链表的实现#定义单链表节点类class Node(object): def __init__(self,value=None,next=None): self.value = value self.next = next#单链表结构类class LinkedList(object): def __init__(self): #初始化链表的头节点以及链表的长度 self.head原创 2020-05-31 16:32:52 · 288 阅读 · 0 评论 -
Python你必须了解的一些点——深浅拷贝
浅拷贝:不管是多么复杂的数据结构,浅拷贝只会拷贝第一层.浅拷贝是对于一个对象的顶层拷贝通俗的理解是:拷贝了引用,并没有拷贝内容• 浅拷贝注意点: 首先先导入copy模块。import copy 浅拷贝对不可变类型和可变类型的copy不同 copy.copy对于可变类型,会进行浅拷贝 copy.copy对于不可变类型,不会拷贝,仅仅是指向深拷贝:会完全复制原变量的所有数据(递归性质的拷贝),在内存中生成一套完全一样的内容,我们对这两个变量中的一个进行任意修改都不会影响另一个变量。通原创 2020-05-31 14:40:27 · 252 阅读 · 0 评论 -
JWT完全攻略版
JWT完全攻略一句话介绍JWT!啥时候用JWT啊JWT的组成部分实际项目中的应用分析总结一下优点缺点想必大家对于JWT也是耳熟能详了,但是具体如何实现,就让我们一起来看一下吧。一句话介绍JWT!通俗来讲,JWT 是一个含签名并携带用户相关信息的加密串,页面请求校验登录接口时,请求头中携带 JWT 串到后端服务,后端通过签名加密串匹配校验,保证信息未被篡改。校验通过则认为是可靠的请求,将正常返回数据。啥时候用JWT啊授权!基本上遇到单点登录问题,JWT就完了!毕竟用起来轻便、开销小,而且服务端无原创 2020-05-31 14:30:17 · 515 阅读 · 0 评论 -
Python你必须了解的一些点——文件操作
文件操作一、文件打开模式二、文件打开方法三、文件读写定位操作一、文件打开模式打开方式指针位置r只读(默认 )指针在文件开头,文件不存在则报错rb二进制只读指针在文件开头,文件不存在则报错r+可读可写指针在文件开头,文件不存在则报错rb+二进制可读可写指针在文件开头,文件不存在则报错w只写文件存在,则覆盖;不存在,则创建wb二进制只写文件存在,则覆盖;不存在,则创建w+可读可写文件存在,则覆盖;不存在,则创建wb+原创 2020-05-31 14:21:57 · 232 阅读 · 0 评论 -
初识scrapy框架,安装&简单爬取
Scrapy基础使用一、scrapy安装与环境依赖1.在安装scrapy前需要安装好相应的依赖库, 再安装scrapy, 具体安装步骤如下:2.创建项目3.项目目录介绍4.scrapy框架介绍: 5大核心组件与数据流向(1)架构:(2).工作流:管道类的注册配置一、scrapy安装与环境依赖1.在安装scrapy前需要安装好相应的依赖库, 再安装scrapy, 具体安装步骤如下:(1).安装...原创 2020-05-01 15:20:53 · 980 阅读 · 0 评论 -
Python单例模式&实现方法
这里写目录标题单例模式实现单例模式的方式一、使用模块二、使用装饰器三、使用类四、基于__new__方法单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取...原创 2020-05-03 12:08:42 · 268 阅读 · 0 评论 -
python+requsets封装一个测试脚本
因为这玩意用的太多了,每次都重新写感觉很麻烦,就在这里封装一个万用的,到时候直接调用文件,写参数就完了。内容如下:import requestsimport jsondef post_test(url,data,headers): response = requests.post(url=url,data=data,headers=headers).json() return json.dumps(response,sort_keys=True,indent=4)def get原创 2020-05-24 21:22:22 · 276 阅读 · 0 评论 -
Python-利用高德API实现“地址-经纬度”互换
方法也是非常的简单,首先去高德开发平台,先申请高德API,设定一个Web服务的Key,然后将你自己的secret key填到下面的key对应的地方,就ok啦~import requestsimport uuiddef getcode(site,city): parameters = {'address': site,'city':city, 'key': 'your secret key'} base_url = 'https://restapi.amap.com/v3/geocod原创 2020-05-25 21:33:16 · 588 阅读 · 0 评论 -
Python你必须了解的一些点——迭代器、生成器和装饰器
Python 的迭代器、生成器和装饰器迭代器可迭代对象与迭代器两个例子生成器定义&特点工作原理如何创建生成器装饰器初级装饰器入门稍微高级一点点的基于类实现的装饰器迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器:可迭代对象与迭代器首先我们原创 2020-05-31 10:31:32 · 573 阅读 · 0 评论 -
Python你必须了解的一些点——静态方法&类方法
Python的静态方法、类方法和属性方法静态方法静态方法使用指南类方法类方法使用指南首先和类属性一样,类方法也可以进行更细致的划分,具体可分为类方法、实例方法和静态方法。和类属性的分类不同,对于初学者来说,区分这 3 种类方法是非常简单的,即采用 @classmethod 修饰的方法为类方法;采用 @staticmethod 修饰的方法为静态方法;不用任何修改的方法为实例方法。静态方法静态方法使用指南格式:在方法上面添加 @staticmethod参数:静态方法可以有参数也可以无参数应用场景原创 2020-05-31 11:24:51 · 299 阅读 · 0 评论 -
Python你必须了解的一些点——魔法方法
Python的魔法方法一、构造&初始化(new&init)二、属性访问(getattr、setattr、delattr)三、容器构造(list/dict/tuple/string)一、构造&初始化(new&init)__init__我们很熟悉了,它在对象初始化的时候调用,我们一般将它理解为"构造函数".实际上, 当我们调用x = SomeClass()的时候调用,__init__并不是第一个执行的, __new__才是。所以准确来说,是__new__和__init__共原创 2020-05-31 12:02:34 · 400 阅读 · 0 评论 -
Python你必须了解的一些点——垃圾回收机制
Python垃圾回收机制一、引用计数优点:缺点:二、 标记-清除QA: 为什么要搞这两个链表三、分代回收分代回收总结:这个问题也是目前面试中经常被问到的问题了,因此这里想要详细写一下记录一下。这次从以下三点:引用计数、标记-清除、分代回收来详细的介绍一下。一、引用计数引用计数是GC主要方法,意思就是一个对象在它刚被New出来的时候因为被New方法引用了所以他的引用计数就是1,如果它被引用(也就是在之前的基础上,例如:b=a,被丢入函数列表等等被引用就会在引用计数上加1),如果引用它的对象被删除的时候原创 2020-05-31 12:27:34 · 266 阅读 · 0 评论 -
Python你必须了解的一些点——高阶函数
Python的高阶函数一、map(function, iterable)二、reduce(function, iterable,[ initializer])三、filter(function, iterable)四、sorted(iterable, key=abs, reverse=False)一、map(function, iterable)python2中,返回一个列表python3中,返回一个迭代器用法功能:将第一个参数 function 依次作用在参数可迭代对象中的每一个元素上,返回原创 2020-05-31 12:24:54 · 341 阅读 · 0 评论