
Python
Will_iam_Fan
这个作者很懒,什么都没留下…
展开
-
爬虫
网络爬虫(网页蜘蛛、网络机器人)爬虫就是模拟客户端发送网络请求,接收请求对应的响应,一种按照一定的规则,自动的抓取互联网信息的程序。理论上来说,只要用户通过 客户端(浏览器) 能够做到的事情,爬虫都能够去做爬虫:模拟客户端访问,抓取数据反爬:保护重要数据,阻止恶意网站攻击反反爬:针对反爬做的措施爬虫的分类:通用爬虫:通常指搜索引擎和大型Web服务提供商的爬虫聚焦爬虫:针对特定网站的爬虫,定向的获取某方面数据的爬虫累积式爬虫:从开始到结束,不断进行爬取,过程中进行去重操作增量式爬虫:原创 2020-10-09 20:08:00 · 774 阅读 · 0 评论 -
虚拟环境的创建
创建虚拟环境可以起到项目环境隔离的作用cmd进去 dos终端1.pip 更新pip install --upgrade pip2.安装虚拟模块pip install virtualenvpip install virtualenvwrapper-win (WIN系统插件,虚拟扩展包)pip install virtualenvwrapper (Linux系统)3.创建虚拟环境命令mkvirtualenv + [ 自定义虚拟环境名称 ]例如 mkvirtualenv --no-site原创 2020-09-14 15:59:01 · 463 阅读 · 0 评论 -
正则表达式
re.match(正则表达式,要被匹配的字符串)data = re.match(r'正则表达式',要被匹配的字符串)一旦对象创建成功,就意味着正则表达式匹配成功如果正则表达式匹配成功,就返回出 对象如果正则表达式匹配不成功,就返回出 None1、匹配单个字符字符功能.匹配任意一个字符 (除了\n之外)[ ]匹配 [ ] 中列举的字符\d匹配数字:0,1,2,3,4,5,6,7,8,9\D匹配非数字,既不是数字\s匹配空白,即 空格 和原创 2020-09-13 00:03:45 · 735 阅读 · 0 评论 -
可迭代对象、迭代器、生成器
可迭代对象 >> 迭代器 >> 特殊的迭代器(生成器) >> yield、可以达到完全多任务的效果 >> greenlet模块 >> yield 切换任务 达到多任务的效果 目的 >> gevent 进行再一步的封装 >> 切换任务 达到多任务的效果for循环的迭代取值,所谓迭代取值,就是在原有情况的基础上增加东西list = [1,2,3]# 迭代取值 在原有的情况下增加东西for i in list:原创 2020-09-08 19:06:53 · 327 阅读 · 0 评论 -
文件的读写基本操作
一、文件是计算机中数据持久化存储的表现形式读写文件标准操作格式1:1、打开文件:file1 = open('文件名','读写模式')2、操作文件3、关闭文件:file1.close()文件操作完毕后必须关闭,否则长期保持对文件的连接状态,造成内存溢出的现象发生读写文件操作格式2:# 1、打开文件file1 = open('demo.txt','w')# 2、操作文件file1.write('hello world')# 3、关闭文件file1.close()1、打开文件:wi原创 2020-09-07 19:18:04 · 18759 阅读 · 0 评论 -
面向对象,类变量、类方法、(成员)实例变量(属性)、(成员)实例方法(属性)
成员方法调用成员变量:成员方法调用成员变量:类模板里面的 init 方法当中定义的公有变量在创建对象出来之后定义的独有变量公有变量:可以访问,通过 self.变量名调用独有变量:谨慎操作class Man: # 成员变量的定义 def __init__(self): # 对象本身 self.gender = '男性' self.name = None # 成员方法 def myself(self): # 成员方法原创 2020-09-03 19:36:19 · 842 阅读 · 0 评论 -
引用、闭包、装饰器
闭包两个函数的嵌套,内部函数使用到了外部函数的数据(变量),这个现象就可以称之为 产生闭包 # 引用def demo1(): print('这是demo1里面的。。。') # 引用函数demo2 = demo1 # 代表函数内部代码的引用,demo2此时也指向demo1里面的内部代码def test(): print('这是在test里面的。。。')demo1 = test # 重新指向的操作 # 调用函数demo1() # 这是在test里面的。。。de原创 2020-09-02 21:52:08 · 256 阅读 · 0 评论 -
字符串、列表、元组的操作
一、字符串的基本操作# 查询篇查看字符串长度:len(str)根据索引值提取数据:str[num]查看特定字符的索引值:str.index('加')如果一个字符串一个值出现两次,那么打印的索引值就是那个字第一次出现的索引值# 判断篇# 1\判断特定字符串是否存在于字符串当中str = 'hello,武汉加油,中国加油'if '武' in str: # True print('存在')else: print('不存在')2\判断最大值,最小值 9>8>7原创 2020-09-01 13:13:43 · 1019 阅读 · 0 评论 -
文件操作、编码解码
编码模块:流(分为输入流和输出流两大类):I/O一,编码编码明文 -----> 暗文<------解码计算机只认识010101ASCII(0-127) 8ANSI(拉丁文) 8GB2312(7000) 前八位和后八位>127 ...原创 2020-07-28 23:13:58 · 1777 阅读 · 0 评论 -
数据分析(一) 【Python】
1、NumPy库1.1 ndarray:NumPy库的心脏整个 NumPy 库的基础是 ndarray对象,它是一种通同质元素组成的多维数组,元素数量是事先指定好的。同质指的是,几乎所有元素的类型和大小都相同。事实上,数据类型由另外一个叫做 dtype(data-type,数据类型)的NumPy对象来指定,每个ndarray只有一种dtype类型。数组的维数和元素数量 由 数组的型 (shape) 来确定,数组的型由N个正整数组成的元组来指定,元组的每个元素对应每一维大小。数组的维统称为 轴 (原创 2020-06-23 21:42:12 · 482 阅读 · 0 评论 -
面向对象练习【Python】
1、定义一个汽车类(Car),属性有颜色,品牌,车牌号,并实例化两个对象2、定义一个球员类(Player),属性有身高、体重、姓名,实例化两个球员,分别是姚明和科比3、定义一个僵尸类(Zombie),属性有名字、体力值、攻击力,实例化三个僵尸类,并给属性赋值。4、设计一个立方体类(Box),定义三个属性,分别是长、宽、高。定义两个方法,分别计算并输出立方体的体积和表面积5、请定义一个交通工具(Vehicle)的类,其中有:属性:速度(speed)、体积(size)等等方法:移动.原创 2020-06-17 01:34:49 · 9841 阅读 · 0 评论 -
基于docker的 python运行的 uwsgi环境+Django小项目
制作基于docker的 python运行的 uwsgi环境+Django小项目制作python运行的uwsgi环境+Djangopostgresql-dev \ alpine集成pgalpine-sdk \ alpine的pandas支持# 启动make run# 停止make stop# 目录.├── Makefile #启动器├── README.md ├── app #后台│ ├── Dockerfile│ ├── requirements.原创 2020-05-08 20:17:25 · 588 阅读 · 0 评论 -
Django 【全家桶】
一、Django建站基础1. Django项目创建step1. 创建工程● manage.py : 命令行工具,允许以多种方式与项目进行交互。在CMD窗口下,将路径切换到django项目下输入 python manage.py help 可以查看工具的具体功能● init.py : 初始化文件,通常无需修改● setting.py : 项目配置文件● url.py : 项目的U...原创 2019-11-10 21:26:29 · 574 阅读 · 0 评论 -
数据类型了解 + 运算符了解 + 简单程序编写【Python】
1. 数据类型:表示整数 —— 整数类型:int(没有上限,表示多大的数都可以)表示小数 —— 浮点类型:float(没有限制) 3.14字符串类型:str “你好” ‘nihao’布尔类型(布尔类型就是判断 真的 假的):bool True False列表元组字典复数咱们在写代码的时候,需要操作数据,数据有类型的话,2. 标识符和关键字什么叫标识符?你...原创 2019-10-23 23:54:29 · 483 阅读 · 0 评论 -
Pandas
1. 关键缩写和包导入在这个速查手册中,我们使用如下缩写:df:任意的Pandas DataFrame对象同时我们需要做如下的引入:import pandas as pd2. 导入数据pd.read_csv(filename):从CSV文件导入数据pd.read_table(filename):从限定分隔符的文本文件导入数据pd.read_excel(filename):从...翻译 2019-10-17 18:53:59 · 137 阅读 · 0 评论 -
cookie的使用及单点登录
cookie的概念:cookie的英文意思是饼干。在计算机术语中指 服务端存放在客户端的一段数据。这段数据在 客户端每次进行http请求时会自动加在http请求报文中的header上;服务端在响应时,可以对cookie进行设置,并将cookie加入到http响应报文header中。MDN中对cookie的解释为:cookie 是一个请求首部,其中含有先前由服务器通过 Set-Cookie ...原创 2019-10-16 22:37:43 · 2210 阅读 · 0 评论 -
数据结构与算法 【Python】
1,抽象数据类型(Abstract Data Type,ADT):拥有属性和方法,属性可以存储数据,方法操作属性2,线性表3,链表(删 插) 列表(查看)属性:data-存储数据 next-下一个节点的地址方法:增删该查next:后继pre:前驱‘’’class node():def init(self,data=None,next=None):self.__da...原创 2019-10-14 11:16:28 · 1976 阅读 · 0 评论 -
数据存储、读取文档
数据存储一、媒体文件两种方式:1.只获取文件Url链接 2. 直接把源文件下载下来(爬一些图片可以存储下来)使用媒体文件所在url链接直接引用它的优点:爬虫运行的更快,耗费流量更少,因为只要链接,不需要下载文件可以节约存储空间存储url代码容易实现,不需要实现文件下载代码不下载文件,可以降低目标主机的负载不过这么做也有一些缺点这些内嵌在你的网站或应用中的外站url链被称为盗链...原创 2019-10-13 16:10:46 · 246 阅读 · 0 评论 -
urllib、Xpath、BeautifulSoup
一、urllibimport urllib.request as ur # urllib 是Python中自带的一个库,request是这个库中的一个类response = ur.urlopen("https://baidu.com") # urlopen是请求百度,赋给响应responseprint(response.read().decode("utf-8")) 爬个...原创 2019-10-13 04:23:59 · 359 阅读 · 0 评论 -
Python + celery实现分布式任务
step1.xshell进行远程安装python中的celery包step2.xshell中远程建好将要上传本地文件要到的文件夹step3.PyCharm中连接测试和上传远程云服务器PyCharm中,tools–>Deployment–>ConfigurationConnection先修改协议,连接远程,改完红框相关信息后,点击"Test SFTP connection...原创 2019-08-22 17:21:13 · 513 阅读 · 0 评论 -
Python操作 InfluxDB 时序数据库 && Peewee的使用
InfluxDB时序数据库InfluxDB 是一个时间序列数据库,用于处理海量写入与负载查询。InfluxDB旨在用作涉及大量时间戳数据的任何用例(包括DevOps监控,应用程序指标,物联网传感器数据和实时分析)的后端存储。1. InfluxDB时序数据库的安装有关如何从文件安装RPM软件包的说明,请参阅下载页面。Red Hat和CentOS用户可以使用yum包管理器安装最新稳定版本的In...原创 2019-08-21 21:18:30 · 2118 阅读 · 0 评论 -
Python操作MySQL、PostgreSQL关系型数据库
1.Python操作mysql关系型数据库MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL是一种关系数据库管理系统,关...原创 2019-08-21 19:58:45 · 993 阅读 · 0 评论 -
Python给指定邮箱发送邮件
邮箱设置:这里我们选择使用QQ邮箱,进行相关设置:step1:step2:step3:开启第一项的过程中,这里会出现发短信获取授权码的步骤,这里的授权码需要复制粘贴到后续代码的settings中的后面用户邮箱信息填写的地方PY文件代码:1.settings部分需要修改的地方:django中settings后的追加部分(此部分用于说明邮箱的相关用户信息):2.views部...原创 2019-08-21 13:28:12 · 2305 阅读 · 0 评论 -
Python中pip的那些事
pip的安装1.安装easy_installeasy_install的安装地址:https://pypi.org/project/setuptools/下载setuptools的压缩包zip,解压以后在目标文件setup.py的路径下打开命令行,输入命令:python setup.py install...原创 2019-07-30 17:22:16 · 228 阅读 · 0 评论 -
Python来操作Redis、mongoDB非关系型数据库
1. Python来操作redispip install redisimport redis # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库r = redis.Redis(host='localhost', port=6379, decode_responses=True) # host是redis主机,需要redis服务端和...原创 2019-08-20 11:01:13 · 270 阅读 · 0 评论 -
Python垃圾回收机制
Python采用的是引用计数机制为主,标记-清除和分代收集两种机制为辅的策略引用计数Python语言默认采用的垃圾收集机制是【引用计数法 Reference Counting】,该算法最早GeorgeE.Collins在1960的时候首次提出,50年后的今天,该算法依旧被很多编程语言使用【引用计数法原理】:每个对象维护一个ob_ref字段,用来记录该对象当前被引用的次数,每当新的引用被...原创 2019-08-17 20:51:47 · 194 阅读 · 0 评论 -
阿里云服务器Centos7下安装Python3.7.2
Centos7下安装Python3.7.21.yum install wget -y #拉取远程包2. yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel python-devel gcc make -ymkdir python37 (最...原创 2019-08-19 18:51:10 · 626 阅读 · 0 评论 -
函数、模块和包、参数(默认参数、关键字参数、可变参数) 【Python】
基本函数函数是直接把一些功能封装在一起,拿来就直接可以用,打个比方,函数相当于一个已经由零件封装好的风扇,想用的时候直接插电就可以用,当然一堆零散的零件摆在这也能组成一个风扇,但是它不能直接拿来用函数的基本语法结构:def 函数名(参数列表):函数体returndef abs(): a = 8 if a<0: print(-a) els...原创 2019-09-16 13:22:56 · 1058 阅读 · 0 评论 -
图书信息管理 - xlrd、xlutils
图书管理系统1,登陆(加密)2,信息查看3,添加4,修改5,删除0118.py:import xlrdfrom xlutils.copy import copyimport hashlib#login,登录函数如下:def login(username,password):#读取excel信息book = xlrd.open_workbook("book.xls")s...原创 2019-09-16 13:23:41 · 261 阅读 · 0 评论 -
面向对象编程【Python】
编程语言的发展:机器语言 —> 汇编语言 —> 高级语言(面向过程的C) —> 面向对象(c++、Java、Python) 越高级,程序员就可以越偷懒要把大象塞冰箱总共分几步?面向过程:1.先把冰箱打开;2.把大象塞进去;3.把冰箱关上定义一个函数来实现功能:def {1.先把冰箱打开;2.把大象塞进去;3.把冰箱关上 }往后遇到要实现把大象装冰箱这个操作时,直接...原创 2019-09-16 13:27:50 · 1010 阅读 · 0 评论 -
Flask框架
微框架、轻量级框架不比Django框架那种重量级框架体型臃肿,内容封装的比较全使用的时候好多可以直接调用,需要代码量较少,Flask框架属于轻型框架,使用时所需代码量较多,用起来稍微麻烦一点Flask框架pip下载就ok了...原创 2019-10-10 23:11:50 · 4100 阅读 · 0 评论 -
多进程
GIL (全局解释锁)1,GIL导致线程不能利用多核优势2,多进程实现方式(2)3,t is join daemon name pid4,锁5,进程间通信6,进程池‘’’‘’’import multiprocessing,timedef run(name):time.sleep(5)print(“来了”,name)if name == ‘main’:p...原创 2019-09-29 22:56:01 · 1223 阅读 · 0 评论 -
网络编程
TCP/IP协议Socket是基于TCP/IP封装的一个接口,协议是双方达到标准的一个规则多台电脑实现一个数据交互,就可以用socket来实现实现一个socket至少要分以下几步:Socket socket = getSocket(type="“TCP”) #设定好协议类型connet(socket,address = "1.2.3.4",port = "80") #连接远程机器(连...原创 2019-09-22 15:59:01 · 953 阅读 · 0 评论 -
多任务_多线程
CPU(中央处理器)cpu通过操作系统调度运行一些软件,各种软件的代码本身在硬盘里,cpu在运行时,会首先把代码加载到内存里,加载到内存里之后,cpu开始执行,执行完之后写回到硬盘(只有先序列化,才能持久化)程序:代码指令集合进程(程序的执行过程):一堆代码跑起来,一个软件跑起来了程序和进程,一个是静态的一个是动态的;一个QQ软件,没有运行,文件存储在电脑里,这时候就是程序。但是,双击ex...原创 2019-09-21 17:22:09 · 806 阅读 · 0 评论 -
HTML、Django框架
创建项目:File —> New Project —> Django原创 2019-09-20 14:33:22 · 2056 阅读 · 0 评论 -
Scrapy
简介Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试.[外链图片转存失败(img-2YfuKtrq-1564107702634)(C:\Users\aqiu\Desktop\scrapy\1.png)]Scrapy主要包括了以下组件:引擎(Scrapy)用来...翻译 2019-09-20 09:47:29 · 1724 阅读 · 0 评论 -
异常情况报错、抽象类
一、异常1,错误语法错误 逻辑错误2,异常程序执行过程中出现问题导致程序无法执行3,常见异常AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性xIOError 输入/输出异常;基本上是无法打开文件ImportError 无法引入模块或包;基本上是路径问题或名称错误Indent...原创 2019-09-17 11:01:35 · 347 阅读 · 0 评论 -
类与类之间的三大关系、多态、封装
类与类之间的关系:1.继承 2.关联(包括:组合,聚合) 3.依赖【这里别和面向对象的三大特性搞混了===> 继承、封装、多态】多态:多种形态关联:一个类的对象作为另一个类的属性依赖:一个类的对象作为另一个类的方法的参数三种关系之间的耦合程度:继承 > 关联(聚合 > 组合)> 依赖【开发项目时的一个原则是:高内聚,低耦合】封装代码复用(一次写好重...原创 2019-09-16 22:15:43 · 1222 阅读 · 0 评论 -
Django-博客开发-网站发布
所讲内容:1. python环境部署 2. python uwsgi 3. django + nginx + uwsgi 1. Python环境部署我们今天学习的内容是如何将Django项目部署到linux服务器上,我们部署的linux系统是centos7首先,我们先在linux上搭建我们的Python3环境:在这里首先强调一下,Centos7系统自带的Python2我们...原创 2019-08-18 19:23:38 · 1118 阅读 · 0 评论