自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python学习 Day74 Matplotlib进阶 画布上创建多个子图 03

matplotlib进阶使用(2)画布上创建多个子图(一)subplot()原型:plt.subplot(nrows, ncols, index)作用:返回给定网格位置的axes对象说明:在当前图中,该函数创建并返回一个Axes对象,在ncolsaxes的nrows网格的位置索引处。索引从1到nrows * ncols,以行主顺序递增。如果nrows,ncols和index都小于10。索引也可以作为单个,连接,三个数字给出例如,subplot(2, 3, 3)和subplot(233)都在当

2022-01-08 14:50:19 1134

原创 Python学习 Day74 Figure与Axes类 02

matplotlib进阶使用(1)一、使用面向对象思想画图虽然使用matplotlib.pyplot模块很容易快速生成绘图,但建议使用面向对象的方法,因为它可以更好地控制和自定义绘图,并且matplotlib.axes.Axes类中也提供了大多数函数使用更正式的面向对象方法背后的主要思想是创建图形对象,然后只调用该对象的方法或属性,这种方法有助于更好地处理其上有多个绘图的画布在面向对象的界面中,pyplot仅用于一些功能,如图形创建,用户显式创建和跟踪图形和轴对象。在此级别,用户使用pyplot创建

2022-01-08 13:21:23 1050

原创 Python学习 Day73 matplotlib 01

matplotlib概述一、简介Matplotlib最初由John D. Hunter于2003年编写Matplotlib是用于数据可视化的最流行的Python包之一它是一个跨平台库,用于根据数组中的数据制作2D图Matplotlib是用Python编写的,并使用了Python的数值数学扩展NumPy它提供了一个面向对象的API,有助于使用Python GUI工具包(如PyQt,WxPythonotTkinter)在应用程序中嵌入绘图它也可以用于Python和IPython shell,Jup

2021-11-20 11:46:02 1046

原创 Python学习 Day72 numpy_IO操作

IO操作numpy 可以读写磁盘上的文本数据或二进制数据numpy 为 ndarray 对象引入了一个简单的文件格式:npynpy 文件用于存储重建 ndarray 所需的数据、图形、dtype 和其他信息常用IO函数作用load() 和 save()是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中savez()用于将多个数组写入文件,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npz 的文件

2021-11-19 12:15:26 173

原创 Python学习 Day72 numpy 拷贝

拷贝一、赋值简单的赋值不会创建数组对象的副本。 相反,它使用原始数组的相同id()来访问它。 id()返回 Python 对象的通用标识符,类似于 C 中的指针一个数组的任何变化都反映在另一个数组上。 例如,一个数组的形状改变也会改变另一个数组的形状二、视图又可称为浅拷贝,是数据的一个别称或引用,通过该别称或引用亦便可访问、操作原有数据,但原有数据不会产生拷贝。对视图进行修改,它会影响到原始数据,物理内存在同一位置(1)数组切片获得视图numpy 的切片操作返回原数据的视图,修改数据会

2021-11-19 11:38:44 669

原创 Python学习 Day71 numpy函数 01

函数一、字符串函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作基于 Python 内置库中的标准字符串函数在字符数组类(numpy.char)中定义1.add()对两个数组的元素进行字符串连接2.multiply()返回按元素多重连接后的字符串3.center将字符串居中,并使用指定字符在左侧和右侧进行填充4.capitalize()将字符串第一个字母转换为大写5.title()将字符串的每个单词的第一个

2021-11-14 11:22:14 818

原创 Python学习 Day70 numpy数组操作 02

numpy数组操作一、修改数组形状1.reshape()方法原型:reshape(shape, order='C')作用:不改变数据的条件下修改形状参数说明shape形状order‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序2.flat数组元素迭代器3.flatten()方法原型:flatten(order='C')作用:展平的数组元素并拷贝一份,顺序通常是"C风格"注意:修改返回的数组不会对原数组产生影

2021-11-13 10:24:24 1290 1

原创 Python学习 Day69 numpy元素操作 01

numpy元素操作一、切片和索引ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组冒号 : 的解释如果只放置一个参数,如 [2],将返回与该索引相对应的单个元素。如果为 [2:],表示从该索引开始以后的所有项都将被提取。如果使用了两个参数,如 [2:7],那么则

2021-11-07 10:20:43 734

原创 Python学习 Day68 Ndarray数组属性 03

numpy数组的基本使用一、numpy数组与Python中列表的对比效率对比二、Ndarray数组属性NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴(axis),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就

2021-11-06 09:37:14 203

原创 Python学习 Day67 创建Ndarray数组对象 02

操作Ndarray对象一、创建Ndarray数组对象说明numpy默认ndarray的所有元素的类型是相同的,这一点与Python中的list不同如果传进来的列表中包含不同的类型,则统一为同一类型,优先级:str>float>intarray()函数原型:numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)作用:创建Ndarray数组对象参数说明

2021-11-05 11:09:03 1033

原创 Python学习 Day66 numpy-Ndarray对象 01

numpy一、numpy简介(一)由来NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发(二

2021-11-02 10:54:12 208

原创 Python学习 Day65 anaconda安装及使用 03

anaconda安装及使用一、简介1.概述Anaconda就是可以便捷获取包且对包能够进行管理,包括了python和很多常见的软件库和一个包管理器conda。常见的科学计算类的库都包含在里面了,使得安装比常规python安装要容易,同时对环境可以统一管理的发行版本Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项2.特点开源安装过程简单高性能使用Python和R语言免费的社区支持3.与virtualenv的对比ana

2021-10-31 15:56:44 193

原创 Python学习 Day64 jupyter安装及使用 02

jupyter安装及使用一、简介jupyter Notebook是一个交互式的Web应用程序,便于创建和共享文学化程序文档,支持实时代码、数学方程、可视化和MarkDown用途包括:数据清理和转换、数值模拟、统计建模、机器学习等,是数据分析常用的应用程序,运行方法只需在使用的文件夹下输入命令jupyter notebook即可1.组成部分:网页应用:网页应用即网页形式的、结合了编写说明文档、数学公式、图片以及其他富媒体形式的工具。简言之,网页应用是可以实现各种功能的工具文档:即jupyte

2021-10-31 09:51:49 201

原创 Python学习 Day63 IPython安装及使用 01

数据分析工具一、ipython(一)简介ipython是python的一个交互式shell,比默认的“python shell”更方便,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多强大的功能和函数。IPython是基于BSD开源的,并且IPython为交互式计算提供了一个丰富的架构,包含如下内容:1.强大的交互式shell2.工Jupyter notebook使用的jupyter内核3.交互式的数据可视化工具4.灵活、可嵌入的解释器5.易于使用、高性能的并行计算工

2021-10-30 10:52:37 484

原创 Python学习 Day62 基于TFTP协议的Socket编程 02

一、UDP的echo客户端需求:1.客户端可以发送多条数据2.客户端如果发送一个“exit”则客户端退出,释放资源3.服务器端收到什么就返回什么from socket import *#定义变量,是否退出客户端的标记flag = True#1.创建套接字client_socket = socket(AF_INET,SOCK_DGRAM)while flag: #2.定义一个接受信息的目标,8080是一个目标服务器的端口,127.0.0.1是目标服务器地址 # s

2021-10-24 11:16:06 2800 1

原创 Python学习 Day61 基于UDP协议的Socket编程 01

Socket一、通信(一)本地进程间的通信同台机器不同进程之间的提高方式有多种如:1.队列2.同步(互斥锁、条件变量等)(二)网络进程之间的通信1.如何唯一标识一个进程(本地PID、网络IP+传输协议+端口)2.socket(套接字)是实现不同主机进程之间的通讯方式二、Socket编程语法socket.socket(AddressFamily,Type)Address Family(常用):可以选择 AF_INET(用于 Internet 进程间通信) 或者 AF_UNIX(用

2021-10-11 10:43:52 152

原创 Python学习 Day60 12306抢票 08

12306抢票一、登录功能

2021-07-14 22:19:50 603 6

原创 Python学习 Day59 页面等待 07

页面等待因为现在页面多使用Ajax请求,难以确定元素在当前时刻是否存在,若要使用的元素在当前时刻不存在,那么程序就会报错,解决的方案就是等待一、selenium提供的两种等待方式隐式等待调用driver.implicitly_wait,在获取不可用的元素之前,会先等待N秒钟的时间显示等待显示等待是表明某个条件成立后才执行获取元素的 操作也可以在等待的时候指定一个最大的时间,若超出此时间就抛出一个异常selenium.webdriver.support.excepted_conditio

2021-07-11 20:53:03 182 1

原创 Python学习 Day59 selenium操作Cookie 06

selenium操作Cookie一、相关操作1.获取所有cookie信息driver.get_cookies()2.获取指定cookie信息sriver.get_cookie(‘BAIDUID’)3.添加cookie信息driver.add_cookie({‘name’:‘zhangsan’,‘value’:‘123456’})4.删除cookie 信息driver.delete_cookie(‘zhangsan’)driver.delete_all_cookies()二

2021-07-11 20:18:20 212 1

原创 Python学习 Day59 selenium行为链 05

selenium行为链一、行为链概述1.为什么需要行为链网站反爬:网站在服务器端设置验证程序,判断浏览器操作行为是否符合人类的行为有更多的复杂操作,在自动化测试中经常使用2.行为链如何使用(1)导入from senlium.webdriver.common.action_chains import ActionChains(2)创建对象actions = ActionChains(driver)(3)移动到某元素actions.move_to_element(element)(4)文

2021-07-11 19:51:36 267 3

原创 Python学习 Day58 selenium操作表单元素 04

selenium操作表单元素

2021-07-07 20:47:27 218 3

原创 Python学习 Day57 selenium定位元素 03

selenium的基本使用一、close与quit的基本区别diver.close():关闭当前页面driver.quit():关闭浏览器窗口from selenium import webdriverimport time#构造浏览器chrome = webdriver.Chrome()#请求的URLchrome.get('http://www.baidu.com')#休眠time.sleep(5)#关闭当前页chrome.close()#5s后关闭浏览器窗口time.sl

2021-07-04 20:47:02 146 3

原创 Python学习 Day56 selenium 02

selenium一、selenium简介selenium是一个web自动化测试工具,可以直接运行在浏览器上selenium支持所有主流的浏览器selenium可以根据我们的指令,让浏览器自动加载页面,获取需要的数据、基础页面截图等selenium非Python标准模块,需要安装安装方式pip install selenium -i http://pypi.douban.com/simple --trusted-host pypi.douban.com安装浏览器插件ChromeDiver

2021-07-03 21:00:05 195 2

原创 Python学习 Day56 动态网页爬虫 01

动态网页爬虫一 相关概念1.动态网页在网页不重新加载的情况下,通过Ajax技术动态更新网站真难过的局部数据如王者荣耀的高清壁纸,在换页的过程当中,URL没有发生改变,但是壁纸动态的更改了2.Ajax(Asynchronouse JavaScript And XML)异步JavaScript和XML前端与服务器进行少量数据交换,Ajax可以使用网页实现异步更新这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新传统的网页,如果需要更新内容,必须重新加载整个网页页面。因为传

2021-07-02 18:48:24 262 6

原创 Python学习 Day55 多线程的GIL锁 05

多线程的GIL锁GIL锁Python自带的解释器是CPythonCPython解释器的多线程实际上是一个假的多线程(在多核CPU中,只能利用一核,不能利用多核)同一时刻只有一个线程再执行,为了保证同一时刻只有一个线程在执行,CPython解释器使用了全局解释器锁GIL(Global Intepreter Lock)常见的Python解释器1.Jyphon:用Java实现的Python解释器,不存在GIL锁2.IronPython:用.net实现的Python解释器,不存在GIL锁3.P

2021-07-02 18:11:11 119

原创 Python学习 Day55 多线程下载壁纸 04

多线程下载王者荣耀高清壁纸网址:https://pvp.qq.com/web201605/wallpaper.shtml1.判读数据是在服务器端继承好再发回浏览器端显示的还是通过Ajax请求发送过来的方式一:点击下一页,观察地址栏是否发生变化,若无变化则是Ajax请求方式二:2.寻找真实数据源复制URL到网页中得到的数据将其复制到JSON在线解析器打开图片地址到网页中搜索没有数据用pycharm代码对图片网址进行解析#解析URLfrom urllib import p

2021-05-16 18:01:11 318 2

原创 Python学习 Day54 Queue线程安全队列 03

一、线程间的通信Condition版的生产者与消费者模式函数描述acquire()上锁release()解锁wait()将当前线程处于等待状态,并且会释放锁。可以被其他线程使用notify()和noti_all()函数唤醒。被唤醒后继续等待上锁,上锁后继续执行下面的代码notify()通知某个正等待的线程,默认是第一个等待的线程notify_all()通知所有正在等待的线程。notify()和notif_all()需要在release()之前调用

2021-05-15 17:39:56 556 1

原创 Python学习 Day54 生产者与消费者模式 02

生产者与消费者模式一、生产者消费者模式概述生产者与消费者模式是多线程开发中常见的一种模式1.生产者线程生产者线程用于“生产”数据2.消费者线程消费者线程用于“消费”数据import threadingimport randomimport timeg_money = 0#创建锁对象lock = threading.Lock()class Producer(threading.Thread): def run(self): global g_mone

2021-05-15 17:22:07 185

原创 Python学习 Day53 爬虫进阶——进程线程 01

进程与线程一、进程与线程概述程序程序(Program)是计算机指令的集合,用于实现特定功能进程1.启动后的程序称为进程,系统会为进程分配内存空间2.一个进程中至少包含一个线程线程1.CPU调度执行的基本单元2.一个进程中包含多个线程3.进程结束,线程一定结束,线程结束,进程不一定结束4.同一个进程中的多个线程,共享内存地址二、进程与线程的区别区别进程线程根本区别资源分配的单位调度和执行的单位开销每个进程都有独立的代码和数据控价(寄存

2021-05-14 17:57:00 1727 13

原创 Python学习 Day52 Python与MongoDB的交互操作 04

案例——链家二手房网址:https://bj.lianjia.com/ershoufang/数据:Python与MySQL交互操作案例1.创建存储数据库在mongo.exe软件中输入以下代码2.代码import requestsfrom bs4 import BeautifulSoupimport pymongoclass LianJiaSpider(): def __init__(self): self.url = 'http://bj.lianjia.

2021-05-10 20:27:31 186

原创 Python学习 Day52 Python与MongoDB的交互操作 03

Python与MongoDB的交互安装第三方模块pip install pymongo -i http://pypi.douban.com/simple --trusted-host pypi.douban.com使用步骤#(1)导入pymongoimport pymongo#(2)连接客户端client = pymongo.MongoClient('localhost',27017)#(3)获取数据库db = client.student 或 client['student']

2021-05-10 19:55:18 333 1

原创 Python学习 Day51 MongoD的CRUD操作 02

MongoDB的CRUD操作命令描述db.集合名.insert(docunment)数据的添加db.集合名.save(document)如果数据存在就更新,不存在就添加db.集合名.update(query,update,multi)query:查询条件,类似SQL语句update中的where部分 update:更新操作符,类似SQL语句update中的set部分

2021-05-06 20:17:19 231 1

原创 Python学习 Day50 MongoDB 01

MongoDBMongoDB是一个高性能、开源、无模式的文档型数据库,是当前NOSQL数据库产品中最热门的的一种。它在许多场景下用于替代传统的关系型数据库或键值对存储方式。MongoDB是用C++开发的一种基于分布式文件存储的开源数据库系统MongoDB将数据库存储为一个文档,数据结构由键值对(key-value)组成MongoDB文档类似JSON数据对象字段值可以包含其他文档、数组及文档数组一、MongoDB的安装1.安装绿色版无需安装直接解压即可使用(64位,32位可通用)2.

2021-05-05 18:00:18 262 2

原创 Python学习 Day49 Python与MySQL的交互操作 15

Python与MySQL的交互操作案例——链家二手房数据请求数据获取数据解析房名房型信息位置信息房屋售价每平单价关注人数/发布时间标签信息MySQL中创建数据表pycharm中创建SQL文件具体实现代码import requestsfrom bs4 import BeautifulSoupimport pymysqlclass LianJiaSpider(): # 打开数据库连接 db = pymysql.connect(host

2021-05-04 17:14:50 153

原创 Python学习 Day48 Python与MySQL的交互操作 14

Python与MySQL的交互操作Python与MySQL进行交互安装第三方库:mysql-connector常用操作:1.插入数据 insert2.查询数据 select3.更新数据 update创建数据库连接connect(host,user,password,database)

2021-04-27 20:44:29 834 4

原创 Python学习 Day48 MySQL数据库 13

MySQL数据库一、MySQL数据库概述MySQL是一种关系型数据库,是一种开源软件由瑞典MySQL AB公司开发,2008年1月16日被SUN公司收购。2009年,SUN又被Oracle收购MySQL软件采用双授权政策,分为社区版和商业版。由于体积小、速度快、总体拥有成本低,尤其是开发源码特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境,所以MySQL能够工作在众多不同的平台上二、MySQL数据库的安装网址:

2021-04-27 17:11:31 311 1

原创 Python学习 Day47 文件存储-openpyxl 12

openpyxl 模块一、openpyxl模块概述特点:1.可以读取和写入Excel2.需要单独安装,不包含在Python标准库里3.处理Excel数据4.处理Excel公式5.处理Excel样式6.在表格内插入图表安装与测试安装:pip install openpyxl测试:打开命令行,输入python>>>import openpyxl二、Python操作Excel文件(一)向Excel文件中写入数据1.创建工作簿对象 openpyxl.Wo

2021-04-24 20:36:38 295

原创 python学习 Day46 数据存储-CSV文件存储11

CSV文件存储一、CSV文件概述CSV是Comma Separated Values称为逗号分隔值,以一种.csv结尾的文件CSV文件的特点(相对于Excel文件)1.值没有类型,所有值都是字符串2.不能指定字体颜色等样式3.不能指定单元格的宽高4.不能合并单元格5.没有多个工作表6.不能嵌入图像图表二、CSV文件的创建将其保存在项目文件夹中,并在pycharm中打开,出现乱码原因:pycharm中默认编码格式为uft-8,而csv文件的编码格式是gbk解决方法:pych

2021-04-23 11:29:21 1203

原创 python学习 Day46 数据存储-JSON文件存储10

JSON文件存储一、概述JSON:JavaScript Object Notation,是一种轻量级的数据交换格式,它是基于ECMAScript的一个子集JSON采用完全独立于语言的文本格式JSON在Python中分别有list和dict组成二、Python中的json模块函数描述json.dumps()实现Python类型转化为json字符串,返回一个str对象,把一个Python对象编码转换成json字符串json.loads()把JSON格式字符串解码转

2021-04-23 09:52:49 203 1

原创 Python学习 Day45 数据解析-pyquery 09

pyquery解析数据一、pyquery概述pyquery库是jQuery的Python实现,能够以jQuery的语法来操作解析HTML文档,易用性和解析速度都很好前提条件:了解CSS选择器以及jQuery非Python标准模块,需要安装安装方式:pip install pyquery -i http://pypi.douban.com/simple --trusted-host pypi.douban.com测试方式:import pyquery二、pyquery的初始化方式(一)字符

2021-04-20 20:41:44 323 1

空空如也

空空如也

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

TA关注的人

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