自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pandas数据分析:excel文件写入

1.单文件写入使用to_excel()方法,将DataFrame对象写入excel文件。to_excel()方法中,第一个参数是文件路径,如果文件不存在,则会自动创建该文件。其中,常用的参数有index和sheet_name。index参数默认为True,系统在表格前添加一列以0为开头的索引列。sheet_name参数用来设置表名。例如,import pandas as pdstudent_name = pd.DataFrame({"学号": [1, 2, 3, 4, 5], "姓名": ["赵

2020-10-06 18:52:08 4891

原创 python数据分析之pandas补充、IMDB实战

1.pandas补充1.1.concat数据扩充与merge联合查询我们如果要将两个表结构相同的数据表进行合并,可以使用pandas.concat()方法。该方法第一个参数必须是一个元组,元组中的元素是你要合并的数据表。例如,import pandas as pdscore = pd.read_csv("score.csv") # 读取csv文件score_concat = pd.read_csv("score_concat.csv") # 读取csv文件concat_result = p

2020-08-03 22:40:47 717

原创 python数据分析之numpy与pandas

1.numpy库NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。使用以下代码,安装numpy,pip install numpy1.1.numpy基本操作我们将使用jupyter notebook进行以下操作。1.1.1.

2020-08-02 19:32:47 1371

原创 python数据分析之Jupyter使用初步

Jupyter使用初步使用以下代码安装jupyter,pip install jupyter安装完成后,我们打开cmd,cd到目标文件目录下,使用下面的代码启动jupyter,jupyter notebook这是jupyter notebook会自动在浏览器中打开。我们需要使用pycharm或者在浏览器上创建新的jupyter文件,创建文件后关闭pycharm上面打开的jupyter文件,防止同时占用。jupyter有以下常用命令,常用命令:- 键盘左上角ESC进入命令状态- 命令状

2020-07-26 21:52:19 611

原创 python爬虫之Scrapy框架(三)

Scrapy框架1.爬虫队列爬虫分为广度爬虫和深度爬虫。广度爬虫是使用队列来存放url地址。其会在我们将一个地址传给他时,将地址存入队列,然后取出先放入的url地址,对url地址进行解析,将解析到的url地址再放入队列,这样无限循环下去,直到队列中没有url地址。我们来看下面的一个爬虫,from queue import Queueimport requestsimport lxml.htmlclass DownloadItem: """ 下载url对象 """

2020-07-24 19:33:21 189

原创 python爬虫之Scrapy框架(二)

Scrapy框架1.CrawlSpider在Scrapy框架中,提供了一个CrawlSpider爬虫,这个爬虫会自动对所有符合特定条件的url地址进行爬取,我们无需再通过yield Request的方式爬取。我们首先创建一个项目,在项目目录下使用下面的代码创建一个CrawlSpider,scrapy genspider -t crawl 爬虫名称 "目标url二级域名"创建好后,我们会在spiders文件夹下,找到爬虫文件,Scrapy提供的代码如下,import scrapyfrom sc

2020-07-22 20:59:07 287

原创 python爬虫之Scrapy框架(一)

Scrapy框架1.介绍写一个爬虫,需要做很多的事情。比如:发送网络请求、数据解析、数据存储、反反爬虫机制(更换ip代理、设置请求头等)、异步请求等。这些工作如果每次都要自己从零开始写的话,比较浪费时间。因此Scrapy把一些基础的东西封装好了,在他上面写爬虫可以变的更加的高效(爬取效率和开发效率)。因此真正在公司里,一些上了量的爬虫,都是使用Scrapy框架来解决。2.架构图爬虫给引擎发送请求引擎发给调度器,调度器接收到url以后将url生成requests对象并存储到队列中引擎从调度器中

2020-07-20 21:27:46 361

原创 python爬虫之JS混淆加密、字体反爬

1.JS混淆加密我们之前爬取有道翻译的翻译内容时,我们通过fiddler抓取url地址时,我们发现如果我们直接将相关参数传入,会报错。只是因为,某些参数是变化的。因此,我们需要解读JS文件,取得相关参数的生成算法,利用python生成参数,再传入。我们继续以有道翻译为例讲解如何获取相关参数的生成算法,并利用python生成参数。首先,我们使用fiddler抓取翻译所需要的全部参数,data = { "i": keyword, # 翻译内容 "from": "AUTO", # 源语

2020-07-20 13:47:09 13642

原创 python爬虫之识别图片验证码

识别图片验证码1.识别流程获取图片生成的url,进而获取要识别的验证码通过第三方库识别验证码输出识别结果2.识别方法我们这里通过chaojiying(付费,识别度高)和Tesseract(免费,对于中文识别程度较差)进行识别。3.操作3.1.基本框架我们以登陆人人网为例,进行识别验证码的操作。首先,我们进入人人网,获取人人网验证码图片的地址,注意,这里rnd是随机生成的因此,我们需要用random模块,随机输出。我们登录人人网,并通过fiddler工具获取登录所需要的相关参数。

2020-07-20 08:55:20 3349

原创 python爬虫之动态网页抓取

动态网页抓取AJAX(Asynchronouse JavaScript And XML)异步JavaScript和XML。过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用Ajax)如果需要更新内容,必须重载整个网页页面。因为传统的在传输数据格式方面,使用的是XML语法。因此叫做AJAX,其实现在数据交互基本上都是使用JSON。使用AJAX加载的数据,即使使用了JS,将数据渲染到了浏览器中,在右键-&gt

2020-07-13 19:57:59 1023

原创 python爬虫之多线程爬虫

多线程1.多线程介绍如果我们把CPU比作一个工厂,这个工厂里面有多个车间,每一个车间就是一个进程;每一个车间有多个工人,每一个工人就是一个线程。我们之所以要学习多线程就是为了在同一时间里完成多项任务。python中的多线程使用的是threading模块。我们来看下面的一个例子,import timedef drinking(): for x in range(3): print("正在喝啤酒:%s" % x) time.sleep(1)def e

2020-07-11 12:14:17 633

原创 python爬虫之BeautifulSoup4库介绍与使用

BeautifulSoup4库1.介绍和 lxml库 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。lxml 只会局部遍历,而Beautiful Soup 是基于HTML DOM(Document Object Model)的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml。BeautifulSoup 用来解析 HTML 比较简单,API非常人性化,支持CSS选择器、Python标准

2020-07-08 20:09:30 895

原创 python爬虫之登录、session对象保存会话信息、Xpath安装与使用、lxml库

1.登录我们可以使用requests库实现登录账户。我们以笔趣阁为例来展示登录。注意,以下内容会涉及到JavaScript的知识。首先我们进入笔趣阁用户登录页面,右键点击检查,查看页面元素。我们可以找到以下JavaScript代码,我们看到该页面会将我们的action、username、password和usecookie参数传入“https://www.biquge.la/MemberAction.php”这个页面中,所以,我们要想通过爬虫进行用户登录,就同样需要把下列参数传给“https:

2020-07-06 21:03:58 804

原创 python爬虫利器之requests库

requests库源码传送门requests库借助了urllib3库,相较于urllib库,代码更加简单,爬虫效率更高。1.安装在cmd中执行下列代码来安装requests库。pip install requests2.请求2.1.GET请求我们直接使用requests.get()方法创建请求对象,例如,import requestsresponse = requests.get("http://www.baidu.com") # get()方法中的参数为所爬网页的url地址r

2020-07-03 20:59:19 269

原创 python爬虫及urllib库初步使用

1.初识爬虫网络爬虫(又被称为网页蜘蛛,网络机器⼈,在FOAF社区中间,更经常的称为网页追逐者),是⼀种按照⼀定的规则,⾃动的抓取万维⽹信息的程序或者脚本。urllib和urllib2库是学习Python爬⾍最基本的库,利⽤这个库我们可以得到⽹⻚的内容,并对内容⽤正则表达式提取分析,得到我们想要的结果。这个在学习过程中我会和⼤家分享的。2.urllib库初步使用2.1.简单爬取网页要爬取网页,我们需要创建请求对象,获取返回的内容和清洗数据这三个步骤。请求的创建,可以通过urllib库中的requ

2020-07-01 21:04:03 198

原创 Flask_Migrate迁移脚本

1.Flask_Migrate在实际的开发环境中,经常会发生数据库修改的行为。一般我们修改数据库不会直接手动的去修改,而是去修改ORM对应的模型,然后再把模型映射到数据库中。这时候如果有一个工具能专门做这种事情,就显得非常有用了,而flask-migrate就是做这个事情的。flask-migrate是基于Alembic进行的一个封装,并集成到Flask中,而所有的迁移操作其实都是Alembic...

2020-04-26 10:32:30 314

原创 Flask_SQLAlchemy创建数据库、数据操作和Manager命令

1.Flask_SQLAlchemy创建数据库Flask_SQLAlchemy整合了Flask和SQLAlchemy的功能,让我们能够使用更少的代码实现在网站中调用数据库的功能。首先使用命令在终端窗口安装...

2020-04-25 21:18:07 3486

原创 SQLAlchemy查询相关操作

SQLAlchemy查询相关操作首先建立数据库表student,表中有sid字段(数值型、主键、自增),sname字段(字符串类型)、age字段(字符串类型)、sex字段(枚举型,“男”和“女”)。代码如下,from sqlalchemy import create_engine, Column, String, Integer, Enumfrom sqlalchemy.ext.declar...

2020-04-23 20:30:51 508

原创 SQLAlchemy表关系

1.SQLAlchemy表关系在MySQL中表关系有一对一、一对多和多对多,我们接下来通过SQLAlchemy实现上述表关系。1.1.一对多在MySQL中构建表与表之间的关系是通过设置外键来完成的,外键可以使得两张表关联,保证数据的一致性和实现一些级联操作。同样,我们需要通过SQLAlchemy设置外键来实现表关系。现在我们在数据库中建立一张student表,表中有id字段(数值型、主键、...

2020-04-22 20:37:06 558

原创 SQLAlchemy数据处理、query可用参数和filter过滤条件

1.SQLAlchemy数据处理要使用SQLAlchemy进行数据处理必须要先构建session对象,所有和数据库的ORM操作都必须通过一个叫做session的会话对象来实现,通过以下代码来获取会话对象:from sqlalchemy.orm import sessionmakerengine = create_engine(DB_URL)session = sessionmaker(e...

2020-04-19 21:14:42 12486 1

原创 SQLAlchemy操作MySQL、常用数据类型与参数

1.准备工作数据库是一个网站的基础。Flask可以使用很多种数据库。比如MySQL,MongoDB,SQLite,PostgreSQL等。这里我们以MySQL为例进行讲解。而在Flask中,如果想要操作数据库,我们可以使用ORM来操作数据库,使用ORM操作数据库将变得非常简单。在讲解Flask中的数据库操作之前,先确保你已经安装了以下软件:mysql:如果是在windows上,到官网下载。...

2020-04-19 20:17:20 2163

原创 Flask蓝本与子域名

1.蓝本之前我们写的url和视图函数都是处在同一个文件,如果项目比较大的话,这显然不是一个合理的结构,而蓝图可以优雅的帮我们实现这种需求。蓝本文件需要存储到一个python包中,然后再将蓝本从包中导入并注册进入Flask框架中来运行。python包不同于普通文件夹,其中含有一个__int__.py文件。下面我们建立一个图书蓝本。首先,建立一个名为blueprint的python包,并新建一个...

2020-04-18 09:20:18 205

转载 【转载】阿里云服务器Ubuntu 16.04安装MySQL

文章来源阿里云服务器Ubuntu 16.04安装MySQL。1.更新系统apt-get update注意:要在root用户下。使用sudo命令。2.安装MySQL-Serverapt-get install mysql-serverapt-get install mysql-clientapt-get install libmysqlclient-dev3.使用如下命令查询是否安装...

2020-04-17 10:36:17 165

原创 Flask类视图的使用

1.add_url_rule函数之前我们接触的视图都是函数,所以一般简称视图函数。其实视图也可以基于类来实现,类视图的好处是支持继承,但是类视图不能跟函数视图一样,写完类视图还需要通过app.add_url_rule()函数来进行注册。app.add_url_rule(rule, endpoint=None, view_func=None)函数中,rule参数表示路由路径,如“/”;endpo...

2020-04-15 20:45:14 800

原创 Jinjia模板过滤器、自定义模板过滤器、宏、继承和导入模板

1.模板过滤器模板过滤器是在html模板中对渲染数据进行处理的一种方法,过滤器是通过管道符号(|)进行使用的,例如:{{ name|length }},将返回name的长度。过滤器相当于是一个函数,把当前的变量传入到过滤器中,然后过滤器根据自己的功能,再返回相应的值,之后再将结果渲染到页面中。例如,我们新建一个app.py实例文件,from flask import Flask, rende...

2020-04-12 20:12:12 326

原创 Jinjia2模板控制语句

Jinjia2Jinjia2是基于python的一个引擎,Flask使用jinja2作为框架的模板系统。1.Jinjia2中的装载方式在Jinjia2中{{ 变量名 }}用来装载变量,模板渲染的时候,会把这个变量代表的值替换掉。并且可以间接访问一个变量的属性或者一个字典的key。关于点.号访问和[]中括号访问,没有任何区别,都可以访问属性和字典的值。在Jinjia2中{% 控制语句 %}用...

2020-04-11 10:51:06 984

原创 Flask框架基础、命令行启动、指定路由、重定向、限定请求方式和登录跳转

Flask框架1.Flask基础

2020-04-10 21:07:43 945

原创 虚拟环境简介、Windows与云服务器安装虚拟环境、virtualenvwrapper相关操作

1.Windows

2020-04-03 16:21:39 352

原创 云服务器安装Mongodb、Mongodb相关操作

1.云服务器安装Mongodb

2020-04-01 20:07:51 316

原创 redis持久化、主从简介

1.redis持久化redis的持久化有两种方式,一种是aof,另一种是rdb。1.1.rdbrdb是指redis-server会在指定的时间间隔内将内存中的数据以快照的形式写入磁盘,其实际的操作过程是folk一个子进程将数据写入文件(dump.edb),写入成功后,临时文件就替换掉了最终的文件。我们可以在redis的配置文件redis.conf中找到快照的时间间隔,我们以云服务器中的re...

2020-03-30 20:11:30 157

原创 python操作Redis数据库

1.准备工作python需要提前安装第三方库redis,在虚拟环境的终端中运行以下代码,pip install redis2.python操作因为redis第三方库的使用语法和redis的使用语法基本一致,我们这里仅简单介绍对于string类型、hash类型和list类型的操作。2.1.string类型我们需要先实例化一个redis对象,import redisrstr = re...

2020-03-30 19:18:20 283

原创 Redis简介、公共操作和五种常用数据类型及其相关操作

1.何为RedisRedis是NoSQL数据库,是一种非关系型数据库。Redis将数据保存在内存中,因此速度超快。Redis中只有键值对(即key和value)。Redis共有八种数据类型,常用的有五种数据类型。Redis中单个Key最大支持到512M。Redis有 0~15号库,也就是说有16个库,默认使用0号库。Redis使用的端口号为6379。我们以下的操作均使用阿里云服...

2020-03-27 20:28:01 201

原创 从购买到安装,详解阿里云服务器安装Redis

1.购买阿里云并打开6379端口登录阿里云官网,选择云服务器ECS,如图,选择购买突发性能实例 t5,如图,因为新人可能会有活动,笔者买的时候只要76元。购买时要实名认证。注意购买要选择Ubuntu系统,如图,购买完成后,可以在自己的控制台里面找到云服务器并进入安全组界面,配置安全组规则,如图,添加安全组规则,如图,填写内容如图,2.安装Redis连接云服务器,笔者这...

2020-03-27 16:08:41 619

原创 pymysql操作数据库

1.安装在cmd中使用以下语句来安装pymysql,pip install pymysql# 如果因为网速问题无法安装可以使用python的国内源,使用以下语句来安装pip install pymysql -i https://mirrors.aliyun.com/pypi/simple/2.pymysql操作数据库的五⾏拳我将会举一个例子来展示如果通过pymysql进行数据库操作,...

2020-03-23 09:48:20 259

原创 MySQL数据控制、索引与视图、数据库备份与恢复

1.数据控制1.1.事务事务把⼀组操作看做⼀个整体,要不都操作成功,要不都操作失败。(ACID)表的数据库引擎必须是innodb。innodb⽀持事物,myisam不⽀持事务。修改表引擎的语句为:alter table 表名 engine = innodb;# 查询是否为⾃动提交select @@autocommit (1为⾃动提交,0为手动提交)# 关闭⾃动提交set auto...

2020-03-22 20:21:23 164

原创 MySQL基础练习2

查询操作注意:查询中所涉及到的表格请查看

2020-03-20 20:16:35 1468

原创 MySQL高级查询

高级查询1.子查询⼦查询嵌⼊到其他查询语句中查询语句,⼦查询只能出现在from,where、having中。⼦查询不要⽤select *,exists除外。select titlefrom forumwhere uid in (select id from php_user where name='王琨' );select * from blog_article where cid ...

2020-03-20 20:15:52 342

原创 MySQL基础练习1

请用sql语句在mysql里建立相应的表将如下数据插入到表里INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (108 ,‘曾华’ ,‘男’,‘1977-09-01’,95033);INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (105 ,...

2020-03-18 20:25:09 390

原创 MySQL数据类型补充、数据操作和数据查询

1.数据类型补充上次我们介绍了MySQL的数值型、字符型和日期时间型,这次我们介绍一下枚举型和集合型。1.1.枚举型# 枚举是⾃定义类型,可以多选⼀,实际上存的值是1,2,3...alter table user add sex enum('男','⼥') default '男'; # 增加sex字段,可选男女,默认为男insert into user(name,password,se...

2020-03-18 20:11:14 370

原创 MySQL基本概念、操作数据库和数据库表、数据类型

1.数据库基本概念数据库是存放数据的仓库。它的存储空间很⼤,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进⾏存放,是有⼀定的规则的,否则查询的效率会很低。常见的数据库有:Oracle-⽬前世界上使⽤最为⼴泛的数据库管理系统,作为⼀个通⽤的数据库系统,它具有完整的数据管理功能;作为⼀个关系数据库,它是⼀个完备关系的产品;作为分布式数据库,它实现了分布式处理的功能。在Orac...

2020-03-15 19:55:46 338

空空如也

空空如也

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

TA关注的人

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