自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第五章:Flask数据库操作

flask的数据库操作和orm

2022-02-05 21:06:53 3876

原创 第四章:Flask高级

flask的高级操作,蓝图,异常处理,上下文,请求钩子,cookie和session

2022-02-05 19:57:30 2421

原创 第三章 Jinja2模板

jinja2模板

2022-02-05 19:05:16 3166 1

原创 第二章 Flask的视图和URL

flask基础视图和URL

2022-02-05 18:07:56 1171

原创 第一章:虚拟环境配置

windows下的python虚拟环境配置

2022-02-05 17:09:35 624

原创 Linux的软件安装

第十章 Linux的软件安装1、rpm软件安装包RPM(RedHat Package Manager)安装管理​ 这个机制最早是由Red Hat开发出来,后来实在很好用,因此很多 distributions(发行版)就使用这个机制来作为软件安装的管理方式 。包括Fedora,CentOS,SuSE等等知名的开发商。RPM的优点RPM内含已经编译过的程序与配置文件等数据,可以让用户免除重 新编译的困扰RPM在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可 避免文件被错误安装

2021-04-12 21:54:50 150

原创 Linux网络

第七章 Linux网络1、Linux网络配置文件​ 查看第一张网卡的网卡信息:[root@localhost yum.repos.d]# cat vi /etc/sysconfig/network-scripts/ifcfg-ens33 cat: vi: 没有那个文件或目录TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6IN

2021-04-12 21:53:43 78

原创 Linux编辑器vim

第六章 Linux编辑器vim1、vi与vim的简介​ 在Linux下,绝大部分的配置文件都是以ASCII码的纯文本形式存在的,可以利用一些简单的编辑软件修改配置。​ 在Linux命令行界面下的文本编辑器有很多,比如nano,Emacs,vim等。但是所有的UNIX Like系统都会内置vi文本编辑器,而其他的文本编辑器则不一定存在。很多软件的编辑接口都会主动调用vi,而且它的编辑速度相当快。因为有太多的Linux命令都默认使用vi座位数据编辑的接口,所以我们必须学会

2021-04-12 21:53:01 94

原创 Linux基本命令二

第五章 Linux基本命令二1、head 命令head​ **作用:**用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容​ **语法:**head [参数] [文件]​ 命令参数:参数参数描述-q隐藏文件名-v显示文件名-c<数目>显示的字节数-n<行数>显示的行数​ (1)显示 1

2021-04-12 21:51:26 164

原创 Linux基本命令一

第四章 Linux基本命令一1、mkdir 命令mkdir​ **作用:**命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录​ **语法:**mkdir [选项] 目录​ **命令功能:**通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建

2021-04-12 21:49:43 141

原创 Linux文件与路径

第三章 Linux文件与路径1、文件结构​ Windows和Linux文件系统区别​ 在windows平台下,打开“此电脑”,我们可以看到盘符分区​ 每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形​ 但是在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录):​ Centos没有盘符这个概念,只有一个根目录/,所有文件都在它下面[root@localhost ~]# ls /bin boo

2021-04-12 21:47:27 2960

原创 VM与Linux安装

第二章 VM与Linux安装1、安装VMware​ 这里安装Vm主要是为了安装Linux系统,除了相对云服务器,比较大众化的操作,当然更多的是熟悉Linux操作1、Windows安装​ (1) 下载链接,目前版本上下载VM15的版本即可下载链接​选择for Windows点击下载​ ​ (2) 双击打开安装包进行安装,点击下一步​ (3) 勾选,接受协议​ 点击下一步​ (4) 更改自己的安装位置,一般默认存在C盘,如果需要更改可以

2021-04-12 21:44:31 427

原创 Linux概述

第一章 Linux概述1、操作系统​ 定义:操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序​ 作用:是把计算机系统中对硬件设备的操作封装起来,供应用软件调用,也是提供一个让用户与系统交互的操作界面。​ 在我们的常见的操作系统中有​ PC端的​ 1、Windows​ 2、MacOS​ 3、Linux​ 移动端OS​ 1、安卓与苹果2、操作系统的发展

2021-04-12 20:08:08 443

原创 Django入门(搭建环境)

Django入门1、简介Django是高级python Web框架,鼓励快速开发和使用的设计。它由经验丰富的开发人员构建,它解决了web开发的大部分问题,因此可以只专注编写应用程序而无需重新发明轮子。它是免费,开源的。1、特点开发速度快提供项目工程管理的自动化脚本工具数据库ORM(Object Relational Mapping)支持模板表单Admin站点管理文件管理认证权限session机制缓存安全性高跨站点脚本(XXS)保护跨站点请求伪造(CSRF)保护SQL

2020-12-01 11:50:24 175

原创 jinja2模板

jinja2模板​ 视图函数的主要作用是,处理业务逻辑,返回响应内容​ flask是使用jinja2这个模板引擎来渲染模板使用模板的好处视图函数只负责业务逻辑和数据处理模板取到视图函数的数据结果进行展示代码结构清晰,耦合度低1、jinja2模板介绍模板传参再使用render_template渲染模板的时候,可以传递关键字参数,以后直接在模板中使用即可如果参数过多,可以将所有的参数放到一个字典或列表中。将字典打散成关键字参数可以在参数前面加**from flask impor

2020-11-27 17:18:58 1851

原创 Flask视图和url

Flask视图和url1、flask介绍flask是用python语言基于Werkzeug工具箱编写的轻量级Web开发框架flask本身相当于一个内核,其他几乎所有的功能都需要用到扩展,包括邮件扩展(Flask-Mail)、用户认证(Flask-Login)、数据库(Flask-SQLAlchemy),这些都需要用第三方的扩展来实现。Flask没有默认的数据库,可以使用MySql,也可以使用NoSql其WSGI工具箱采用Werkzeug(路由模块),模板引擎采用Jinja2。这两个是Flask的核心

2020-11-27 15:17:09 196

原创 python框架之虚拟环境配置

python框架之虚拟环境配置1. web框架web服务器:web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序。目前最主流的三个web服务器是Apache、Nginx。IIS。web框架:是一种开发框架,用来支持动态网站、网络应用程序及网络服务的开发WSGI:web服务器网关接口(python Web Server Gateway Interface),是为Python语言定义的web服务器和web应用程序或框架之间的一种简单而通用的接口静态资源:不需要经常变化的资源,这种资源w

2020-11-27 11:03:23 222

原创 排序算法

排序算法快速排序'''快排原理:1. 选定一个中间值,默认是第一个值2. 将小于这个中间值的数据放到左边3. 将大于等于这个中间值的数据放到右边4. 然后循环调用5. 终止条件:列表中只剩一个元素时'''def sortq(lst): if len(lst) >= 2: mid = lst[0] left = [] right = [] lst.remove(mid) for i in lst:

2020-11-22 17:04:48 107

原创 MySQL 数据库

MySQL 数据库概念数据:所谓数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的、抽象的。它不仅仅指狭义上的数字,而是有多种表现形式:字母、文字、文本、图形、音频、视频等。现在计算机存储和处理的数据范围十分广泛,而描述这些数据的符号也变得越来越复杂了。数据库:数据库(Database,DB)指的是以一定格式存放、能够实现多个用户共享、与应用程序彼此独立的数据集合。数据库管理系统:数据库管理系统(Database Management System,DBMS)是用来定义和管

2020-11-20 16:36:01 274 1

原创 python高级编程

python高级编程函数式编程生成器由于列表的容量是有限制的,所以需要一边循环一边计算后面的元素,这样的机制称为生成器:generator创建生成器import time# 列表生成式# list1 = [1,2,3,4,5,10]list1 = [x for x in range(1,10)]print(list1)# 引出生成器:里面是一个对象,保存了产生元素的算法,同时会记录游标的位置# 创建一个生成器:1.通过列表生成式来创建;# 2. 通过函数来

2020-11-20 14:28:55 691

原创 多线程与多进程

多线程与多进程概念进程:进程是正在执行的程序,是包含了程序指令和相关资源的集合。线程:线程是进程的执行单元。对于大多数程序来说,可能只有一个主线程。为了提高效率,有些程序会采用多线程,在系统中所有的线程看起来都是同时执行的。串行:按顺序执行并行:任务数小于CPU核数,任务真的是一起执行并发:任务数多于CPU核数,通过操作系统的调度算法,实现多个任务“一起”执行进程与线程的对比进程是重量级的,具体包括进程映像的结构、执行细节以及进程间切换的方法。在进程中,需要处理的问题包括进程间通信、临界

2020-11-19 22:42:20 247

原创 网络

网络OSI模型物理层-》数据链路层-》网络层-》传输层-》会话层-》表示层-》应用层TCP/IP模型网络接口层(物理层,数据链路层)-》互联网层(链路层)-》传输层(传输层)-》应用层(会话层,表示层,应用层)TCP/UDP协议TCP和UDP协议是传输层最重要的两种协议,为上层用户提供级别的通信可靠性TCP协议传输控制协议(TCP):TCP定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。协议规定了TCP软件怎样识别给定计算机上的多

2020-11-19 18:15:08 200

原创 Linux基础

Linux基础Linux系统目录结构序号目录结构描述1/根目录,一个硬盘一个根2/bin系统的常用命令目录。包括控制台命令、系统可执行文件、系统的核心二进制文件等3/etc发布目录。保存系统中所有的核心内容,要求控制权限高,建议不要随便读写4/usr用户目录。相当于Windows下的porgram files目录。常用于安装系统所有用户共用的软件、资源等5/root或~表示root根用户的用户目录。相当于Windows系统中的c:/use

2020-11-17 14:11:21 82

原创 python爬虫(八) 分布式爬虫

python爬虫(八) 分布式爬虫分布式原理将多台主机组合起来,共同完成一个爬取任务,大大提高爬取的效率分布式爬虫的架构Redis服务器:管理Spider服务器请求的url并去重存储Spider服务器爬下来的数据Spider服务器:从Redis获取请求把爬取下来的数据发送给Redis服务器分布式爬虫的优点可以充分利用多台机器的带宽可以充分利用多台机器的IP地址爬取效率高分布式爬虫必须要解决的问题分布式爬虫是好几台机器在同时运行,如何保证不同的机器爬取页面的时候不会出现

2020-11-17 12:58:29 328

原创 python(七)爬虫框架

python(七)爬虫框架常见的爬虫框架Scrapy框架:Scrapy框架是一套比较成熟的Python爬虫框架,是使用Python开发快速,高层次的信息爬取框架,可以高效的爬取web页面并提取出结构化的数据PySpider框架:PySpider是以Python脚本为驱动的抓取环模型爬虫框架Crawley框架:Crawley也是python开发的框架,该框架致力于改变人们从互联网中提取数据的方式Portia框架:Portia框架是一款允许没有任何变成基础的用户可视化地爬取网页的爬虫框架Newsp

2020-11-16 21:33:35 1209

原创 python(六)动态网页爬虫

python(六)动态网页爬虫什么是动态网页爬虫动态网页在网站不重新加载的情况下(网页的url不发生改变),通过ajax技术动态更新网站中的局部数据。ajax异步JavaScript和XML,前端与服务器进行少量数据交换,ajax可以使网页实现异步更新。这意味着在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页,如果需要更新内容,必须重载整个页面。因为传输数据的时候使用的是XML语法。而ajax在数据交互的时候基本上使用JSON,使用ajax加载的数据,即使使用了JS,将数据渲染到浏

2020-11-16 16:29:10 1328

原创 python(五)多线程爬虫

python(五)爬虫进阶多线程基础程序:使用编程语言所编写的指令集合,用于实现一定的功能进程:启动后的程序称为进程,系统会分配内存空间给进程;一个进程至少包括一个线程线程:1. CPU的调度执行的基本单元 2. 一个进程中包含N多个线程 3. 进程结束,线程一定结束,线程结束,进程不一定结束 4. 同一个进程中的多个线程,共享内存地址线程与进程的区别区别进程线程根本区别资源分配的单位调度和执行的单位开销每个进程都有独立代码和数据空间线程是轻量级的进程,同

2020-11-16 14:59:35 255

原创 python爬虫(四)数据存储

python爬虫(四)数据存储JSON文件存储JSON是一种轻量级的数据交换格式,它是基于ECMAScript的一个子集JSON采用完全独立于语言的文本格式JSON在Python中分别由list和dict组成JSON模块的功能序号函数描述1json.dumps()实现python类型转化为json字符串,返回一个str对象2json.loads()把json格式的字符串转换成python类型3json.dump()将python内置序列化为jso

2020-11-16 11:53:52 643

原创 python爬虫(三) 数据解析

python爬虫(三) 数据解析XPATH解析数据XPATH全称:XML Path Language是一种小型的查询语言,是一门在XML文档中查找信息的语言xpath需要依赖lxml库xpath优点:可在XML中查找信息支持HTML的查找可通过元素和属性进行导航使用xpath选取节点序号表达式描述1nodename选取此节点的所有子节点2/从根节点选择3//从匹配选择的当前节点选择文档中的节点,而不考虑他们的位置4.选择当前节点

2020-11-15 19:17:51 372

原创 python爬虫(二)网络请求

python爬虫(二)网络请求urlliburllib是python自带标准库中用于网络请求的库,无需安装,直接引用即可urllib通常用于爬虫开发、API(应用程序编程接口)数据获取和测试urllib库的四大模块:urllib.request:用于打开和读取urlurllib.error: 包含抛出的异常urllib.parse:用于解析URLurllib.robotparser:用于解析robots# urllib.parse 用于解析urlimport urllib.parse

2020-11-15 17:40:05 580

原创 python爬虫(一)基础知识

python爬虫(一)基础知识数据的来源用户生产的数据政府用来统计的数据数据管理公司中的数据自己爬取的数据数据的作用数据分析智能产品练习数据make money爬虫的概念使用编程语言所编写的一个用于爬取web或app数据的应用程序爬取数据的过程找到要爬取的数据的网站,发起请求分析url是如何变化的,提取有用的url提取有用的数据爬取数据数据要遵守robots.txt 协议爬虫的分类通用网络爬虫如:百度,谷歌等搜索引擎,从一些初始的url扩展到整个网站,主要为

2020-11-15 11:58:18 381

原创 JS-jQuery

JS-jQuery初体验<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <!--JS的代码不能独立执行,需要在静态页面中运行--> <script src="../js/jQuery.min.js" type="text/javascript" charset="utf-8"></script&g

2020-10-20 20:26:10 194

原创 BOM

BOMBOM定义<script type="text/javascript"> //BOM 【browser object model】 浏览器对象模型,每一个浏览器厂商都有属于自己的特定BOM对象 //给我们提供一些获取浏览器信息,即为内置window对象 //作为BOM对象的属性和方法,可以省略window console.log(window); console.log(typeof window);//object //获取地址栏信息 console.log(windo

2020-10-20 20:02:40 69

原创 JS-DOM

DOMDOM常用的属性<script type="text/javascript"> //DOM其实就是JS语言中内置引用类型document对象,DOM对象经常用来操作节点(标签) console.log(document); console.log(typeof document);//object</script><script type="text/javascript"> //DOM:常用的属性 //documentElement:获取到节点树

2020-10-19 20:59:29 112

原创 JS-语法进阶

JS-语法进阶三元运算符<script type="text/javascript"> //三元运算符经常给变量赋值 console.log(true?"我是小明":"我是小红");//我是小明 console.log(false?1:2);//2 console.log(0?"a":"b");//b console.log("我是小明"?1+1:6);//2 var age = true? 16 : NaN; console.log(age);//16</scri

2020-10-18 17:16:34 208 1

原创 JS-正则表达式

JS-正则表达式定义<script type="text/javascript"> //正则表达式【RegExp】:正则表达式是一种匹配字符串的模式、规则 //正则表达式书写的时候是由//,这两个/经常称之为定界符 //正则表达式在JS中属于引用数据类型 console.log(/abc/); console.log(typeof /hello/);//object //正则表达式常用书写方式 var reg = /\d+/g; console.log(reg);</

2020-10-18 17:11:23 191 1

原创 JS-String

JS-String字符串的length属性<script type="text/javascript"> //字符串的length属性:主要作用是获取到字符串中字符的个数 var str = "准备好了吗"; console.log(str.length);//5 //length属性经常结合循环语句一起使用,用来遍历字符 for (var i=0; i < str.length;i++) { console.log(str[i]); }</script>

2020-10-18 12:55:11 100

原创 JS-Array

JS-Array数组的基本使用<script type="text/javascript"> //在JS中用[]代表数组 console.log([]); //数组在js中属于引用类型的数据 console.log(typeof []);//object //数组可以有序存储很多任意类型的数据 console.log([1,true,NaN,"吃饭",null,function(){}]); //数组在使用的时候,可以将数组赋值给变量进行存储,通过访问变量名字就可以操作数组

2020-10-17 19:44:03 132 1

原创 JS 函数

JS 函数关键字形式的函数<script type="text/javascript"> //关键字形式的函数 //声明部分 function fun(){ //书写封装功能性的代码 console.log("我是一枚大帅哥"); console.log("虽然不是真的"); } //调用部分 fun(); //函数在js当中属于引用类型数据 console.log(typeof fun);//没有function类型,只有object类型 //函数如果不调

2020-10-17 15:17:26 1345 1

原创 JS(二)

JS(二)赋值运算符的使用<script type="text/javascript"> // 赋值运算符:经常给变量进行赋值 // 变量:声明一次以后,可以进行多次赋值 var num = 100; num += 6;//106 num -= 100;//6 num *= 2;//12 num /= 4;//3 num %= 2;//1 alert(num);</script><script type="text/javascript"> v

2020-10-16 19:18:29 107

空空如也

空空如也

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

TA关注的人

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