自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(212)
  • 收藏
  • 关注

原创 用Python三步生成带有图表的word报表,工作神技巧!

最近在项目中做了一个生成并导出word报表的功能,在这里分享给大家。经过查看ESPC原有的生成报表代码和网上查阅的一些方法,解决方案的思路如下:**1.**利用pychartdir库生成图表,保存图片,转成字节数据**2.**然后使用office办公软件编写所需要的模板word,另存为xml文件**3.**利用jinja2库渲染修改好的模板,然后写入.doc文件即可那下面我将我实现的过程...

2019-08-22 15:42:16 4640 1

原创 Python系列(四)python元组与字典

本文目录:一、元组 | 二、字典 | 三、字典的使用方法前言:列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一些列不可修改的元素,元组就可以满足你这样的需求。Python将不能修改的值称为不可变的,而不可变的列表就被称为元组。正文部分:一、元组1、元组的概念元组:(tuple),有序列表叫元...

2019-08-08 20:25:00 726 1

原创 Python系列(三)python列表详解

本博文阅读目录:1)len函数//查看列表的个数2)序列[索引号] //查看索引号对应的元素3)在list中追加元素到末尾list.append(“元素”)4)把元素插入到指定的位置 list.insert(索引号,“元素”)5)删除list末尾元素list.pop()和指定索引号元素 list.pop(i)6)把某个元素替换成别的元素 list[索引号]=“赋值内容”7)list定...

2019-08-08 20:24:57 801 1

原创 Python系列(二)python变量赋值与运算符

本博文阅读目录:1、什么是变量?2、命名规则3、变量赋值在内存中的原理4、输入与输出[input raw_input,print]5、常量6、常用数据类型[整数,浮点数,布尔值,空值]7、字符串与字符串格式化[%s,%d,%f,%x ]8、编码 [ASCII,unicode,UTF-8]9、注释 [#,’’’]10、python算术运算符 [+,-,*,/,//,%,**]1...

2019-08-08 19:59:59 3791

原创 Python系列(一)python简介、安装与基本应用

一、python简介1、python介于C语言与shell之间,于1989年由guido van Rossum(龟叔)开发,1991年诞生第一个编辑器。2、python2.0系列版本只开发到了2.7版本,官方宣布2020年将不再维护2.7,建议用户迁移到3.4及3.4以上的版本3、现在最新版本是python3.6.14、Linux默认自带python2.7.5版本,如果想使用3.x版本则需...

2019-08-08 19:59:57 608 1

原创 【Python】Python3网络爬虫实战-45、微博宫格验证码的识别

本节我们来介绍一下新浪微博宫格验证码的识别,此验证码是一种新型交互式验证码,每个宫格之间会有一条指示连线,指示了我们应该的滑动轨迹,我们需要按照滑动轨迹依次从起始宫格一直滑动到终止宫格才可以完成验证,如图 8-24 所示:图 8-24 验证码示例鼠标滑动后的轨迹会以黄色的连线来标识,如图 8-25 所示:图 8-25 滑动过程我们可以访问新浪微博移动版登录页面就可以看到如上验证码,链接...

2019-08-07 16:10:06 349

原创 【Python】Python3网络爬虫实战-43、极验滑动验证码的识别

上节我们了解了图形验证码的识别,简单的图形验证码我们可以直接利用 Tesserocr 来识别,但是近几年又出现了一些新型验证码,如滑动验证码,比较有代表性的就是极验验证码,它需要拖动拼合滑块才可以完成验证,相对图形验证码来说识别难度上升了几个等级,本节来讲解下极验验证码的识别过程。1. 本节目标本节我们的目标是用程序来识别并通过极验验证码的验证,其步骤有分析识别思路、识别缺口位置、生成滑块拖动...

2019-08-07 16:09:59 721 1

原创 【Python】Python3网络爬虫实战-44、点触点选验证码的识别

上一节我们实现了极验验证码的识别,但是除了极验其实还有另一种常见的且应用广泛的验证码,比较有代表性的就是点触验证码。可能你对这个名字比较陌生,但是肯定见过类似的验证码,比如 12306,这就是一种典型的点触验证码,如图 8-18 所示:图 8-18 12306 验证码我们需要直接点击图中符合要求的图,如果所有答案均正确才会验证成功,如果有一个答案错误,验证就会失败,这种验证码就可以称之为点...

2019-08-07 16:09:59 646 1

原创 【Python】Python3网络爬虫实战-42、图形验证码的识别

本节我们首先来尝试识别最简单的一种验证码,图形验证码,这种验证码出现的最早,现在也很常见,一般是四位字母或者数字组成的,例如中国知网的注册页面就有类似的验证码,链接为:http://my.cnki.net/elibregister/commonRegister.aspx,页面如图 8-1 所示:图 8-1 知网注册页面表单的最后一项就是图形验证码,我们必须完全输入正确图中的字符才可以完成注册...

2019-08-07 16:09:55 1578

原创 【Python】Python3网络爬虫实战-41、图形验证码的识别

本节我们首先来尝试识别最简单的一种验证码,图形验证码,这种验证码出现的最早,现在也很常见,一般是四位字母或者数字组成的,例如中国知网的注册页面就有类似的验证码,链接为:http://my.cnki.net/elibregister/commonRegister.aspx,页面如图 8-1 所示:图 8-1 知网注册页面表单的最后一项就是图形验证码,我们必须完全输入正确图中的字符才可以完成注册...

2019-08-07 16:09:53 832

原创 【Python】Python3网络爬虫实战-40、使用Selenium爬取淘宝商品

在前一章中,我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取。比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可能会包含加密密钥等,所以如果想自己构造Ajax参数,还是比较困难的。对于这种页面,最方便快捷的抓取方法就是通过Selenium。本节中,我们就用Selenium来模拟浏览器操作,抓取淘宝的商品信息,并...

2019-08-07 16:09:49 922

原创 【Python】Python3网络爬虫实战-39、Splash负载均衡配置

用Splash做页面抓取时,如果爬取的量非常大,任务非常多,用一个Splash服务来处理的话,未免压力太大了,此时可以考虑搭建一个负载均衡器来把压力分散到各个服务器上。这相当于多台机器多个服务共同参与任务的处理,可以减小单个Splash服务的压力。1. 配置Splash服务要搭建Splash负载均衡,首先要有多个Splash服务。假如这里在4台远程主机的8050端口上都开启了Splash服务,...

2019-08-06 14:59:58 248

原创 Python3快速入门(十一)——NumPy

一、NumPy简介1、NumPy简介NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,同时对数组运算提供了大量的数学函数库。Numpy 是一个运行速度非常快的数学库,内部解除了CPython的GIL(全局解释器锁),运行效率极好,主要用于数组计算,是大量机器学习框架的基础库,NumPy主要包括如下:(1)强大的N维数组对象...

2019-08-06 14:59:56 1663 1

原创 Python3快速入门(十)Python3网络编程

一、socket模块简介Python 提供了两个级别访问的网络服务,低级别的网络服务支持基本的 Socket,提供了标准的BSD Sockets API,可以访问底层操作系统Socket接口的全部方法;高级别的网络服务模块 SocketServer, 提供了服务器中心类,可以简化网络服务器的开发。socket不支持多并发,socketserver是对socket的再封装,简化网络服务器版的开发...

2019-08-06 14:59:54 611

原创 Python3快速入门(九)Python3并发编程

一、Python线程模块1、线程简介一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程本身不拥有系统资源,与进程内的其它线程共享进程的所有资源。一个进程中至少有一个线程,并作为程序的入口,即主线程,其它线程称为工作线程。 多线程,是指从软件或者硬件上实现多个线程并发执行的技术。支持多线程能力的计算机因有硬件支持...

2019-08-06 14:59:52 629

原创 Python3快速入门(八)Python3 JSON

1、JSON简介JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,是基于ECMAScript的一个子集。2、json模块简介Python3 中可以使用 json 模块来对 JSON 数据进行编解码,包含两个函数:json.dumps(): 对数据进行编码。json.loads(): 对数据进行解码。在json的编解码过程中,Python 的...

2019-08-06 14:59:49 173 1

原创 Python3快速入门(六)Python3面向对象

一、面向对象技术简介1、面向对象简介面向对象编程(Object Oriented Programing,OOP)是一种编程思想,OOP把对象当成程序的一个基本单元,一个对象包含数据和操作数据的方法。面向对象编程的三大特性如下:A、封装,可以隐藏实现细节,使代码模块化。B、继承,可以通过扩展已存在的类来实现代码重用,避免重复编写相同的代码。C、多态,封装和继承的目的都是为了实现代码重用, ...

2019-08-05 20:00:03 351

原创 Python3快速入门(七)Python3正则表达式

1、re模块简介re 模块提供 Perl 风格的正则表达式模式,使 Python 语言拥有全部的正则表达式功能。2、正则表达式模式模式字符串使用特殊的语法来表示一个正则表达式:正则表达式模式中的字母和数字匹配同样的字符串;多数字母和数字前加一个反斜杠时会有不同的含义;标点符号通常有特殊的含义,只有被转义时才匹配自身;反斜杠本身需要使用反斜杠转义。Python资源分享qun 78475821...

2019-08-05 20:00:01 226

原创 Python3快速入门(五)Python3函数

一、函数定义1、函数定义Python 定义函数使用 def 关键字,一般格式如下:def function_name(parameter_list): pass默认情况下,参数值和参数名称按函数声明中定义的顺序进行匹配。函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以...

2019-08-05 16:59:58 243

原创 Python3快速入门(四)Python包管理

一、Python包简介1、包Python中使用包管理模块,包通常对应一个目录,必须在目录下创建一个init.py模块,init.py模块的模块名称即为包名,Python才会将目录解析为包。init.py文件内可以定义初始化包的内容,导入包的内容,限制包内模块的导出。init.py文件可以为空,也可以是一个模块,其模块名称为包名称。导入包或包的模块、变量、函数时,**init **.py文...

2019-08-05 16:59:57 599 1

原创 Python3快速入门(三)Python3标准数据类型

一、Python3标准数据类型Python3 中有六种标准数据类型:A、Number(数字)B、String(字符串)C、List(列表)D、Tuple(元组)E、Set(集合)F、Dictionary(字典)Python3 的六种标准数据类型中,Number(数字)、String(字符串)、Tuple(元组)是不可变的,List(列表)、Dictionary(字典)、Set(集合...

2019-08-05 16:59:53 328

原创 Python3快速入门(二)Python3基础

一、Python3语法基础1、Python3编码默认情况下,Python 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串,可以为Python源码文件指定不同的编码,如下:# -*- coding: utf-8 -*-2、标识符Python语言的标识符规则如下:A、第一个字符必须是字母表中字母或下划线 。B、标识符的其它的部分由字母、数字和下划线组成。C、标识符...

2019-08-05 16:59:49 466

原创 推荐给大家一个我整理的 Python 书单

关注我的朋友可能很多都是学习 Python、爬虫、Web、数据分析、机器学习相关的。当然大家可能接触某个方向的时间不一样,可能有的同学已经对某个方向特别精通,有的同学在某个方向还处于入门阶段。所以我花时间调研了一些大佬的推荐书单,同时结合我个人所看的一些书籍,另外参考了豆瓣、京东等排行榜和一些书评,选取了一些经典好评书籍和近期上市且反响不错的书籍,推荐给大家,内容涉及 Python 基础、***...

2019-08-04 17:19:13 1158

原创 Python实用技法第33篇:字符串连接及合并

问题我们想将许多小字符串合并成一个大的字符串。解决方案如果想要合并的字符串在一个序列或可迭代对象中,那么将它们合并起来的最快方法就是使用join()方法。示例如下:>>> parts = ['Is', 'Chicago', 'Not', 'Chicago?']>>> ' '.join(parts)'Is Chicago Not Chicago?'&...

2019-08-04 14:00:00 594

原创 Python实用技法第32篇:对齐文本字符串

问题我们需要以某种对齐方式将文本做格式化处理。解决方案对于基本的字符串对齐要求,可以使用字符串的ljust()、rjust()和center()方法。示例如下:>>> text = 'Hello World'>>> text.ljust(20)'Hello World '>>> text.rjust(20)' ...

2019-08-04 13:59:56 1656

原创 Python实用技法第31篇:文本过滤和清理

问题某些无聊的脚本小子在Web页面表单中填入了“pýtĥöñ”这样的文本,我们想以某种方式将其清理掉。解决方案文本过滤和清理所涵盖的范围非常广泛,涉及文本解析和数据处理方面的问题。在非常简单的层次上,我们可能会用基本的字符串函数(例如str.upper()和str.lower())将文本转换为标准形式。简单的替换操作可通过str.replace()或re.sub()来完成,它们把重点放在移除...

2019-08-04 13:59:53 1194

原创 Python实用技法第30篇:从字符串中去掉不需要的字符

问题我们想在字符串的开始、结尾或中间去掉不需要的字符,比如说空格符。解决方案strip()方法可用来从字符串的开始和结尾处去掉字符。lstrip()和rstrip()可分别从左或从右侧开始执行去除字符的操作。默认情况下这些方法去除的是空格符,但也可以指定其他的字符。例如:>>> # Whitespace stripping>>> s = ' hello...

2019-08-04 13:59:51 568 1

原创 Python实用技法第29篇:用正则表达式处理Unicode字符

1、需求

2019-08-04 13:59:48 951

原创 Python实用技法第28篇:将Unicode文本统一表示为规范形式

1、需求

2019-08-04 13:59:46 442

原创 Python实用技法第27篇:编写多行模式的正则表达式

1、需求

2019-08-03 22:00:01 698 1

原创 Python实用技法第26篇:定义实现最短匹配的正则表达式

1、需求

2019-08-03 21:59:57 356

原创 Python实用技法第24篇:正则:查找和替换文本

1、需求

2019-08-03 17:00:02 1496

原创 Python实用技法第23篇:正则:文本模式的匹配和查找

1、需求

2019-08-03 17:00:00 584

原创 Python实用技法第22篇:利用Shell通配符做字符串匹配

1、需求

2019-08-03 16:59:59 325

原创 Python实用技法第21篇:在字符串的开头和结尾处做文本匹配

1、需求

2019-08-03 16:59:56 730

原创 Python实用技法第20篇:针对任意多的分隔符拆分字符串

1、需求

2019-08-03 16:59:54 425

原创 Python实用技法第19篇:将多个映射合并为单个映射

1、需求

2019-08-02 22:00:00 313

原创 Python实用技法第18篇:同时对数据做转换和换算

1、需求

2019-08-02 21:59:57 239

原创 Python实用技法第17篇:将名称映射到序列的元素中

1、需求

2019-08-02 21:59:51 180

原创 Python实用技法第16篇:从字典中提取子集

1、需求

2019-08-02 21:59:49 249

空空如也

空空如也

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

TA关注的人

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