base64数据加密,是一种可逆的编码格式,生成的编码是ascii格式的数据,通过encode加密,decode解密。原理:1、将所有字符转化为ASCII码。2、将ASCII码转化为8位二进制。3、将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位。4、统一在6位二进制前补两个0凑足8位。5、将补0后的二进制转为十进制。6、从Base64编码表获取十进制对应的Base64编码。importbase64classEncodeDecod
系统 2019-09-27 17:50:29 2388
Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。__dict__与dir()的区别:dir()是一个函数,返回的是list;__dict__是一个字典,键为属性名,值为属性值;dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来
系统 2019-09-27 17:50:05 2388
有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示:具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法。importmatplotlib.pyplotaspltimportMySQLdbasmdbimportnumpyasnpfrommpl_toolkits.axes_grid1.inset_locatorimportinset_axesfrommpl_toolkits.axes_grid1.inse
系统 2019-09-27 17:46:18 2388
上一期博客,我本来想爬取美团美食的,但是由于请求头太复杂,没有破解开其中的几个参数,所以放弃,这次我们来用selenium来模式浏览器抓取数据,我们先来简单看一下流程:1,利用selenium驱动浏览器,得到美食列表2,分析网页,并给予翻页后续的美食列表3,分析提取数据(pyQuery)项目一:美团美食项目地址:https://gitee.com/dwyui/pyQuery_selenium.git由于美团反扒严重,只爬取到部分数据,可以尝试修改间隔时间来
系统 2019-09-27 17:45:51 2388
pytho的使用和分发完全是免费的,它是一种面向对象的语言,它的。它的类模块支持多态,操作符重载和多重继承等高级概念,并且以python特有的简洁的语法和类型,OOP十分易于使用。python内置了众多预编译并可移植的功能模块,这些功能模块叫做标准库(standardlibrary)。python可以调用C和C++的库,可以被C和C++的程序调用,可以与java组件集成,可以和COM和.Net等框架进行通信,并且可以通过SOAP、XML-RPC和CORBA
系统 2019-09-27 17:38:09 2388
最近由于服务器托管中心频繁出现网络故障问题,因此写了一简单的py程序,用于检测网络状态。实现的原理相当简单,运行ping命令发送30个数据包,如果超过30%的丢失,则认为故障发生,然后做故障处理,如写日志,发邮件。主要函数importosdefmonitoring(server_ip):cmd="ping-c30%s"%server_ipp=os.popen(cmd)info=p.read()p.close()re_lost_str='(\d+)%pack
系统 2019-08-29 23:34:27 2388
这篇文章总结了关于二叉树的创建和各种遍历方式。二叉树的创建方式通过层次遍历顺序创建先序遍历顺序(带上叶子结点标识符)创建先序顺序+中序顺序中序顺序+后序顺序二叉树的递归方式先序遍历(递归+非递归)中序遍历(递归+非递归)后序遍历(递归+非递归)广度优先遍历(BFS)首先来定义一下节点的结构classNode():def__init__(self,val):self.val=valself.left=Noneself.right=None然后定义树类clas
系统 2019-09-27 17:57:12 2387
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多因为是第三方库,所以使用前需要cmd安装pipinstallrequests安装完成后import一下,正常则说明可以开始使用了。基本用法:requests.get()用于请求目标网站,类型是一个HTTPresponse类型importrequestsresponse=requests.get('http://www.baidu.com')print(response.
系统 2019-09-27 17:56:23 2387
Python的print()能够实现将需要的信息输出在控制台上,然而当程序较为复杂,需要将大量的信息记录下来的时候,print的打印就较为不方便,因此Python引入了logging模块来记录一些想要的信息。logging相对print来说更好控制输出在哪个地方,怎么输出及控制消息级别来过滤掉那些不需要的信息。1.logging的级别关系先用一个简单的例子来了解logging的输出以及各级logger=logging.getLogger()logger.s
系统 2019-09-27 17:52:42 2387
tx-rs-一个提供wrtieahead的原子交易库刚出来,仅供了解,这里的“交易”是指业务的原子性,常见于数据库中。与区块链或密码学中的交易,是不同的概念。类似于STM。Repoduang-使用宏来提供默认参数和命名参数一看就是国人的项目。命名有点玩耍的味道,但是思路和设计可以借鉴。useduang::duang;duang!(pubfnfoo(a:T,b:f64=13.0,c:T=a*a)->(T,f64,T)whereT:std::ops::Mul,
系统 2019-09-27 17:50:12 2387
版本号:Python2.7.5,Python3改动较大,各位另寻教程。所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器端,然后读取服务器端的响应资源。在Python中,我们使用urllib2这个组件来抓取网页。urllib2是Python的一个获取URLs(UniformResourceLocators)的组件。它以urlopen函数的形式提供了一个
系统 2019-09-27 17:46:01 2387
python编程之twisted详解前言:我不擅长写socket代码。一是用c写起来比较麻烦,二是自己平时也没有这方面的需求。等到自己真正想了解的时候,才发现自己在这方面确实有需要改进的地方。最近由于项目的原因需要写一些Python代码,才发现在python下面开发socket是一件多么爽的事情。对于大多数socket来说,用户其实只要关注三个事件就可以了。这分别是创建、删除、和收发数据。python中的twisted库正好可以帮助我们完成这么一个目标,实
系统 2019-09-27 17:56:47 2386
实例如下:fromwin32com.clientimportDispatchimportwin32com.clientclasseasyExcel:"""AutilitytomakeiteasiertogetatExcel.Rememberingtosavethedataisyourproblem,asiserrorhandling.Operatesononeworkbookatatime."""def__init__(self,filename=None
系统 2019-09-27 17:55:26 2386
6.堆排序6.1算法思想堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆的性质:即子结点的键值或索引总是小于(或者大于)它的父节点(同层节点不进行比较)。并且一般来说,升序排列通过构造大顶堆来实现,降序排列通过构造小顶堆来实现。这种算法不用额外的空间,空间复杂度为o(1),时间复杂度为o(nlogn)6.1.1堆堆是一种完全二叉树(完全二叉树是一种除了最后一层之外的其他每一层都被完全填充,并且所有结点都保持向左对
系统 2019-09-27 17:49:40 2386
最近开始学Python,想直接通过命令行的方式进行学习。奈何没有Tab补全,操作实在麻烦,网上各种百度后无果(x64系统,x86的可以直接下载网上各种编译好的包)最后自己百度+加上自己的摸索,找到了在64位系统下轻松安装readline和tab补全的方法一、安装readlinecmd命令行,就会自动安装readline模块python-mpipinstallpyreadline二、编写tab.py文件保存在..\Python\Lib\tab.py例如:D:
系统 2019-09-27 17:47:11 2386