- 博客(54)
- 收藏
- 关注
原创 python装饰器
定义:在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),比如在函数执行前后打印日志装饰器调用分析:不带参数装饰器def log(fun): def wrapper(*args, **kwargs): print('001', fun.__name__) return fun(*args, **kwargs) ret...
2019-10-28 23:20:39 345
原创 pandas02 -- 处理丢失的数据
处理丢失的数据在mysql中空值null就是丢失的数据,在pandas中丢失的数据是NaN,在numpy中为np.nan、None, 空值对程序的计算结果是没有影响的但是降低了程序的执行效率,因此应该尽量避免空值pandas中对于空值的操作 1. isnull() 2. notnull() 3. dropna() #过滤空值 4. fillna() #填充空值...
2018-06-20 20:47:06 487
原创 pandas01 - Series和DataFrame
数据分析三剑客(三个模块):numpy、pandas、matplotlib;前两个属于数据分析,展示数据,后一个用于画图;pandas中有两个常用的类:Series、DataFrame;Series对象是类似一维数组的,由下面两个部分组成:values:一组数据(ndarray类型)index:相关的数据索引标签DataFrame是一个【表格型】的数据结构,可以看做是【由Ser...
2018-06-20 19:59:03 499
原创 Numpy、matplotlib
简介numpy - numeric python, 即数字化的python;python 支持的数值类型有整型、浮点型、布尔型、和复数型;numpy支持更多的数值类型: 1. `bool`:布尔类型,1 个字节,值为 True 或 False。 2. `int`:整数类型,通常为 int64 或 int32 。 3. `intc`:与 C 里的 int 相同,通常...
2018-06-20 17:25:38 360
原创 git 本地仓库
gitgit是当前最流行的版本控制软件在本地安装git检查是否安装git : git –version1.建立仓库在本地建立一个文件夹,里面放上要放在git仓库中管理的文件,在命令行提示符中,进入到该文件夹下,执行命令git init 这是把该普通的文件夹初始化成git仓库,通过输出可以查看初始画的是一个空仓库,仓库是程序中被git主动跟踪的一组文件,这时你查看下该文件夹,会发...
2018-06-13 21:13:26 227
原创 爬虫 - 数据存储
今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。 使用NoSQL数据库 NoSQL - not only SQL 非关系型数据存储使用...
2018-06-09 13:00:53 2210
原创 scrapy 框架新建一个 爬虫项目详细步骤
利用scrapy框架新建一个爬虫项目,完整步骤如下:mkdir doubancd douban创建虚拟环境命名为venv, 代替了virtualenv --no-site-pages +virtual_namepython -m venv venv dir 看目录cd venv cd Scriptsactivate 启动虚拟环境cd ../../ 回到我的用户...
2018-06-09 11:23:40 2390
原创 爬虫 - 数据采集和解析
爬虫数据采集和解析数据采集1. 下载数据的方式 - urllib、requests、aiohttpurllib 用法from urllib.request import urlopenhtml = urlopen('http://sports.sohu.com/nba_a.shtml').read()requests用法import requestsresp ...
2018-06-08 11:22:23 2178
原创 正则表达式
简介正则表达式一种专门用来搜索字符串的方式,通过构建不同的模式,从而在字符串中匹配出自己想要的字符正则表达式可以在很多种语言中使用,这些语言也专门为正则表达式的使用,提供了不同的语言支持,具体使用详情,请在菜鸟教程中查看写正则表达式的时候,总是感觉无从下手,不知道什么时候加个正斜杠什么时候加个反斜杠,或者加个r 是干什么的,我相信看完下面你就肯定清楚了正则表达式中的字母和数...
2018-06-07 15:12:56 568
原创 多进程爬取手机搜狐网所有页面
在进行爬取操作之前介绍下threading.lock类和concurrent.futures模块以及分布式进程:threading.local类使用线程时最不愿意遇到的情况就是多个线程竞争资源,在这种情况下为了保证资源状态的正确性,我们可能需要对资源进行加锁保护的处理,这一方面会导致程序失去并发性,另外如果多个线程竞争多个资源时,还有可能因为加锁方式的不当导致死锁。要解决多个线程竞争资源...
2018-06-06 16:38:35 362
原创 进程和线程
简介今天我们使用的计算机早已进入多CPU和多核时代,而我们使用的操作系统都是支持“ 多任务的“,这使得我么可以同时运行多个程序,也可以将一个程序分解为若干个相对独立的子任务,让多个子任务并发执行,从而缩短程序的执行时间,同时也让用户获得更好的体验。因此当下不管用什么语言进行开发,实现让程序同时执行多个任务也就是常说的并发编程,应该是程序员必备的技能之一。实现多任务并发执行,python中提供了...
2018-06-06 15:06:10 150
原创 装饰器
示例01类包装器这是写爬虫时给爬虫定义的包装器,用来装饰爬虫爬取行为失败后,尝试的次数,装饰器中是可以传入参数的class Retry(object): """ 包装器 """ def __init__(self, *, retry_times=3, wait_secs=5, error=(Exception, )): """ ...
2018-06-06 09:52:24 188
原创 自己定义一个加减乘除函数,以及lambda函数的用法
使用lambda函数实现一个加减乘除函数的定义def calc(num_list, fn): result = num_list[0] for index in range(1, len(num_list)): result = fn(result, num_list[index]) return resultdef main(): my...
2018-06-06 00:26:16 7535 1
原创 python -- 异步I/O
异步操作目的是使用一个主线程实现多个协程并发执行定义一个函数,该函数是一个消费者的生成器,使用装饰器@asyncio.coroutine 把生成器变成协程,协程的程序是可以中断再执行的,异步操作需要在协程中中通过yield from完成;yield from语法可以让我们方便地调用另一个generator,生成器既可以是生产者也可以是消费者,当一个任务的程序执行到这里时,会中断程序,调用其他的...
2018-06-06 00:19:32 593
原创 python中文件的I/O操作
简介I/O – Input/Output 输入/输出读写文件是最常见的IO操作,Python内置了读写文件的函数读 -- 输出写 -- 输入在磁盘上读写文件的功能都是由操作系统提供的,操作系统是不允许普通程序直接操作磁盘的,所以,想要读写文件,需要请求操作系统打开一个文件对象,然后通过操作系统提供的接口从这个文件对象中读取数据(读文件)或者 把数据写入这个文件(写文件)...
2018-06-05 19:54:35 737
原创 协程和异步I/O
协程概念理解协程,又称微线程,纤程。英文名Coroutine;协程就是两个函数之间的协作运行,故称之为协程;协程的特征:假如两个函数 A和B , A执行到某行程序中断,执行B,B执行到某行程序中断执行A,然后循环下去函数内部的中断和函数之间的更替执行,是靠send 和 yield 实现的 send发送消息给yield,并且中端程序的执行, yield不仅可以接收send发送的消息还...
2018-06-05 18:32:34 519
原创 python中使用redis、和 mongodb数据库
在python中使用redis和mongodb数据库,其中操作命令是一样的,不同的是,在使用命令时需要加上创建的连接的对象python中使用redis数据库:首先要创建一个redis连接对象:redis_client = redis.Redis(host='112.74.171.100', port=6379,password='xxx')然后就可以使用redis操作命令了...
2018-06-04 21:11:44 956
原创 爬虫 数据库中存取内容
使用redis 、 mongodb数据库中 存取 爬取页面的内容import pickleimport zlibfrom enum import Enum, uniquefrom hashlib import sha1from random import randomfrom threading import Thread, current_threadfrom time im...
2018-06-02 15:55:07 820
原创 爬虫多线程
定义多线程类, 爬虫类 爬取 m.sohu.com的内容import loggingfrom enum import unique, Enumfrom queue import Queuefrom random import randomfrom threading import current_thread, Threadfrom time import sleepfrom ...
2018-06-01 14:55:41 363
原创 pycharm的使用
安装第三包时,不在terminal终端安装,在settings–> 项目解释器–>显示解释器下的安装包的右边窗口 + 号按钮 搜索安装为了防止找不到,不能识别的错误等,要修改下 pycharm2017/helpers/packaging_tool.py文件:修改如下:def do_install(pkgs): try: from pip impo...
2018-06-01 09:19:03 572
原创 redis 的使用
centos 7下 安装 redis:yum也可以装redis,但是装的可能不是最新的,想要安装自己想要的版本,还是使用源代码安装: 访问官方网站下载源代码: 官方网站下面开始安装 找到redis版本后面的源代码的地址 复制$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz $ tar xzf redis...
2018-05-31 19:24:22 169
原创 mongodb 的使用
centos 7 下源代码安装访问网站选择下载资源 我选择的是linux版本的,复制源代码; linux环境下下:1. wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.6.5.tgz2. gunzip <filename> 解压缩3. tar -xvf <filen...
2018-05-31 17:39:47 174
原创 flask - 详细操作流程
修改启动方式:pip install-Scriptpip install-blueprint启动方式为:python manage.py runserver定义路由, 注册路由:from flask import Blueprintblue = Blueprint(blueprint='first', __name__)from Stu.views import stu...
2018-05-19 14:24:14 444
原创 flask - 小知识点
摘要:添加多条学生信息运算符分页onetoone下拉列表传参问题原生SQL获得字典中值得方法获得列表中值的方法添加多条学生信息s_list = [学生对象1, 学生对象2,..]db.session.add_all(s_list)运算符filter(模型名.字段.运算符('xxx'))filter(模型名.字段 运算符 值 )运算符__lt...
2018-05-19 11:00:05 149
原创 flask - 表格之间的关联
概述一对多多对多一对多首先创建表格,在上篇博文 ‘flask - 表格’ 的学生表模型(Student)字段后面:加上# 创建外键 关联到班级标的主键, 实现一对多关系,班级表中也要有对应操作s_g = db.Column(db.Integer, db.Foreignkey('grade.g_id'), nullabel=True)班级表 (Grade)...
2018-05-19 10:30:12 1923
原创 flask - 创建表格及表格的增删查
概述创建表格模型提交表格模型到数据库实现表格的增删查功能flask - 创建表格模型学生表与班级表是一对多关系 学生表与课程表是多对多关系# 创建学生表模型 from datetime import datetime from flask_sqlalchemy import SQLALchemy db = SQLALchemy()...
2018-05-19 10:00:50 8864 2
原创 flask - app相关操作 及 debugtoolbar调试的设置
flask - debugtoolbar调试工具:pip install flask_debugtoolbar import DebugtoolbarExtension初始化app:from flask_debugtoolbar import DebugToolbarExtension debugtoolbar = DebugtoolbarExtension() ...
2018-05-18 21:11:54 414
原创 flask - 定义API接口
flask自行定义API接口,并且可以实现接口调试的增删查改需要两个工具pip install flask_restful pip install flask_marshmallow初始化app:初始化app的两种方式: Api(app=app) 或者 api = Api() api.init__app(app)from flask_...
2018-05-18 20:40:45 2563
原创 flask - 分页
利用paginate 对象:views.py处理分页的业务逻辑@stu.route('/stupage/')def stu_page(): # page定义当前页码 page = int(request.args.get('page',1)) # per_page定义每页显示的条数 per_page = int(request.args.get('p...
2018-05-17 21:18:01 620
原创 mysql 创建学生表
– 查看MySQL服务器所有数据库show databases;– 删除SRS数据库drop database if exists SRS;– 创建学生选课系统(SRS)数据库并指定默认字符集create database SRS default charset utf8;– 切换至SRS数据库use SRS;– 查看当前数据库中所有表show tabl...
2018-05-16 22:59:54 158722 7
原创 SQL - 语句
标题sql常用命令查看mysql数据库中的所有数据库:show databases;切换、选择、使用数据库:use + database_name;查看数据库下的表结构:desc + table_name;创建数据库:create database + database_name删除数据库:drop database database_name; ...
2018-05-16 22:32:51 177
原创 flask
flask项目中,创建mysql数据表格,并实现增、删、查、改需要两个安装包:pip install pymysqlpip install flask-sqlalchemy1. __init__py# 配置访问mysql数据库 app.config['SQLALCHEMY_DATABASE_URI']= 'mysql+pymysql://root:123123@...
2018-05-16 20:09:39 179
原创 SQL - 简介和数据类型
SQL概述SQL简介SQL 指结构化查询语言 ,全称是 Structrued Query LanguangeSQL ,让你可以访问和处理数据库,在这我处理的是mysql数据库。SQL的作用SQL面向数据库查询 SQL可从数据库取回数据 SQL可更新数据库中的数据 SQL可从数据库删除记录 SQL可创建新数据库 SQL可在数据库中创建新表 SQL可在数据库中创建视图...
2018-05-16 12:30:21 216
原创 flask
- 加载static、加载templates、页面跳转、删除coookie、加载static、加载templatesBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)static_dir = os.join.path(BASE_DIR, 'static')templates_dir = os.joi...
2018-05-15 17:37:33 160
原创 flask
flask概念:flask ‘微’框架django –> 完善完整高集成的框架 flask –> Flask 不包含数据库抽象层微框架,database,templetes需要自己去组装flask 布置项目:1.创建虚拟环境 virtualenv --no-site-packages flaskenv # 把虚拟环境创建在flaskenv目录下...
2018-05-14 20:12:53 212
原创 centos 7 下布置django项目
布置django项目的两种方式简述centos 7系统自带python2.7.x版本,部署django项目我使用的是在我的上片博文中安装的python3.6.5版本,包管理工具也是python3.6.5带的pip,不过为了和系统自带的python区分,我通过创建软链接的方式,给自己python定义了快捷方式python3,给pip定义了快捷方式pip3;本地与远程服务器同步:在本地...
2018-05-14 18:11:23 337
原创 Linux操作系统的使用
阿里云服务器,系统更换成centos 7 系统之后,使用xshell,连接上阿里云服务器,连接成功进入了centos 7系统,界面默认为root用户的主目录操作系统命令的使用汇总普通用户: $ 创建普通用户: adduser hellokitty 给普通用户创建密码: passwd 超级用户: # 查看登录用户:who/...
2018-05-14 13:16:58 158
原创 阿里云ubantu系统两种方式布置django项目
本地与远程服务器同步:在本地中新建一个数据库,在阿里中点击数据库变亮,右键转储,选择目标库阿里更改服务器系统:1.登录阿里云 实例 更多 停止服务器 更换系统盘 配置系统 设置连接阿里云服务器的密码 2.现在还不不能连接数据库,因为没有装ubanto安装mysql:ubantu 自带包管理工具:aptsudo apt update 安装mysql服务器、客户端...
2018-05-12 11:09:33 476
原创 centos7 - python3安装详细步骤
Centos7安装Python3的方法由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到。[root@VM_105_217_centos Python-3.6.2]# pythonPython 2.7.5 (default, Aug 4 2017, 00:39:18)[GCC 4.8.5 20150623 (Re...
2018-05-11 08:36:23 272
原创 django -页面中加载图片
图片视频加载到页面中settings.py 文件:# 配置上传文件的路径MEDIA_URL = '/media/'MEDIA_ROOT = os.path.join(BASE_DIR, 'media')项目下新建一个media目录,加载的的东西会自动保存到里面views.py 文件中:def index(request): if request.method =...
2018-05-04 22:09:48 2470 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人