自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jmeter中BeanShell使用

用户定义变量传入三个变量(u1,u2,u3)BeanShell取样器获取自定义的参数参数栏输入:${u1} ${u2} ${u3}脚本输入:// 获取参数传递过来的值 并且存入变量中vars.put("v1",bsh.args[0]);vars.put("v2",bsh.args[1]);vars.put("v3",bsh.args[2]);...

2019-03-07 15:31:28 522

原创 matplotlib入门2

import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-3, 3, 50)y = 2*x + 1plt.figure(num=1, figsize=(4,5))plt.plot(x,y,)ax = plt.gca()ax.spines['right'].set_color('none')ax.spin...

2018-05-28 19:50:16 419

原创 matplotlib入门1

最近需要用到matplotlib来绘图,之前没接触过只能加快速度学习一下。Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它可以轻松地将数据图形化,并且提供多样化的输出格式。1.设置名称、大小、绘制样式、颜色、线宽import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-3, 3, 50)...

2018-05-23 19:32:13 370

原创 apt-get 与 apt的区别

 apt:apt是友好版的apt-get,最大特性就是有进度条包括了 apt-get 命令使用最广泛的功能可以在使用 apt 命令安装或删除程序时看到进度条在更新存储库数据库时提示用户可升级的软件包个数可以用 apt 替换部分 apt-get 系列命令,但不是全部apt-get:对于低级操作,仍然需要 apt-getapt-get 虽然没被弃用,但作为普通用户,还是应该首先使用 apt...

2018-05-21 19:04:04 3351

原创 python模块之openpyxl

openpyxl模块是一个读写Excel的python库,是一个比较综合的工具,能够同时读取和修改Excel文档。1.安装模块pip3 install openpyxl2.基本用法了解Excel 基本概念,Excel中列以字幕命名,行以数字命名,比如左上角第一个单元格的坐标为A1,下面的为A2,右边的B1。openpyxl中有三个不同层次的类:Workbook是一个excel工作表Workshee...

2018-03-30 18:30:06 3253 2

原创 python安装selenium

命令行输入:pip install selenium进入python3.6下:import seleniumfrom selenium import webdriverdriver = webdriver.Chrome()报错:FileNotFoundError: [WinError 2] 系统找不到指定的文件。selenium.common.exception

2017-10-30 17:42:48 875

原创 BeautifulSoup库的使用

灵活方便的网页解析库,处理高效,支持多种解析器是python的一个库,通过解析文档为用户提供需要抓取的数据自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。不用编写复杂的正则表达式提取网页信息(代替正则)安装:pip35 install beautifulsoup4pip35 install lxml# lxml解析器更加强大,速度更快pip35 in

2017-10-30 15:50:21 462

原创 python正则表达式

最近做爬虫,把python基础的正则表达式又重新过了一遍。常规匹配import recontent = 'Hello 123 4567 World_this is a regex Demo'print(len(content))result = re.match("^Hello\s\d\d\d\s\d{4}\s\w{10}.*Demo$", content)pr

2017-10-30 10:57:13 392

原创 Requests库的使用

基于urllib3改写的,API更加方便, 简单易用几句代码实现代理、cookie... 设置请求方式requests.post('http://httpbin.org/post')requests.delete('http://httpbin.org/delete')requests.put('http://httpbin.org/put')requests.header('h

2017-10-28 22:09:14 359

原创 urllib库的使用

urllib库是python内置的http请求库四个模块urllib.request :请求模块urllib.error: 异常处理模块urllib.parse : url解析模块工具模块, 提供了很多处理方法:拆分、合并...urllib.robotparser : robots.txt解析模块(用的不是很多)判断哪些网站是可以爬的那些不可以

2017-10-28 20:35:15 431

原创 jinja2.exceptions.UndefinedError: 'app.models.Admin object' has no attribute 'role'

最近写项目遇到这样的问题:jinja2.exceptions.UndefinedError: 'app.models.Admin object' has no attribute 'role'解决方法:这个问题找了好久,才发现是models.py里面Role中少了字段,加上就好了roles = db.relationship("Admin", backref='role')

2017-10-21 08:21:16 2448

原创 CSS选择器的使用

获取标题>>> response.css(".entry-header h1").extract()['写代码容易,编程并不容易']>>> response.css(".entry-header h1::text").extract()['写代码容易,编程并不容易']获取时间create_time = response.css("p.entry-meta-hide-on-mob

2017-10-13 09:45:23 426

原创 xPath用法

最近看视频学习,用xPath爬取网页上的内容信息,做了以下笔记。效率高:命令行:scrapy shell http://blog.jobbole.com/112585/获取标题title = response.xpath('//div[@class="entry-header"]/h1/text()')>>> title.extract()['写代码容易,编程

2017-10-12 15:46:19 2296

原创 scrapy的安装和创建

安装scrapy新建虚拟环境article_spider安装scrapy安装报错:error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build

2017-10-11 23:48:50 337

原创 xPath语法

xPathXPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。使用路径表达式在xml和html中进行导航包含标准函数库(语法强大)xPath是一个w3c的标准节点一个标签就是一个节点。语法表达式说明article选取所有article元素的所有子节点

2017-10-11 20:23:41 381

原创 shell常用工具

脚本的调试-n 读一遍脚本中的命令但不执行,用于检查脚本中的语法错误-v 一边读脚本,一边把执行过的脚本命令打印到标准错误输出-x 可以在程序中设置调试某一段grep 基本正则(+E可成扩展正则)egrep 扩展正则shell编程常用工具:grep 根据文件内容无过滤find 根据文件名\文件类型awk 列处理工具sed 行处理工具x

2017-10-07 10:56:35 475

原创 shell的输入输出

echoecho是文本行或变量/ 把字符串输入到文件echo [option] string-e 解析转义字符、-n 不换行,默认echo内容后跟一个回车换行python@ubuntu:5$ echo "dimples\n\n"dimples\n\npython@ubuntu:5$ echo -e "dimples\n\n"dimplespython@ubu

2017-10-06 01:57:03 313

原创 shell位置参数和特殊变量

常见的位置参数和特殊变量:$0 ./t8.sh$1、$2... 位置参数 $# 表示参数有多少个$@ 可以用在for循环中的in后面$* 表示参数列表"$1" "$2"..$?上一条命令的执行结果$$ 当前进程号$1#! /bin/shecho $0echo $1echo $2echo $3python@ubuntu:5$ chmod a+x t8.sh

2017-10-06 00:58:49 338

原创 shell脚本语法

条件测试:test [-测试一个条件是否成立,如果结果为真,则结果=0如果结果为假,则结果=1python@ubuntu:~/1004$ var=2python@ubuntu:~/1004$ test $var python@ubuntu:~/1004$ echo $?0python@ubuntu:~/1004$ test $var -gt 5python@ubu

2017-10-06 00:25:18 432

原创 shell变量

变量环境变量printenv本地变量python@ubuntu:~/0829$ diner='dimples'python@ubuntu:~/0829$ set | grep "diner"diner=dimples把本地变量变成环境变量:python@ubuntu:~/0829$ export dinerpython@ubuntu:~/0829$ e

2017-10-04 19:07:03 209

原创 redis高级

发布订阅消息的格式推送消息的格式包含三部分subscribe : 表示订阅成功unsubscribe : 取消订阅成功message : 表示其他终端发布消息如果第一部分为subscribe,第二部分是频道,第三部分是现在订阅的频道的数量如果第一部分为unsubscribe,第二部分是频道,第三部分是现在订阅的频道的数量,如果为0,表示当前没有订阅任何频道,当在

2017-10-01 14:29:25 602

原创 redis数据操作

数据操作redis是键值对的数据键的类型是字符串值的类型有以下几种:字符串hashlistset有序集合zsetString最大存储512MB数据二进制安全的(任何数据:数字、图片、序列化)设置设置键值set key value设置键值set key value设置键值set key valuepython@u

2017-10-01 00:54:03 354

原创 redis安装环境

安装环境切换到/usr/localp@ubuntu:~$ cd /usr/local/p@ubuntu:/usr/local$ lsredispython@ubuntu:/usr/local$ cd redis# 如果没有,mkdir redis创建一个python@ubuntu:/usr/local/redis$# 移动解压后的文件 到 /usr/local/red

2017-09-30 23:46:08 327

原创 mongodb聚合

聚合aggregate统计功能,用来计算数据db.集合名称.aggregate([{管道:{表达式}}])管道(|):把上一次的结果输出,作为下次结果的输入聚合框架中常用的几个操作:$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。$match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的

2017-09-29 16:20:41 427

原创 mongodb基础

属于NoSQL, 非关系型数据库内存级读写C++开发的,运行稳定,性能高分布式 文档存储 (物理+内存)存储collection 集合document 文档(集合中的一个数据)查看Ubuntu版本cat /etc/issue安装1.导入软件源的公钥sudo apt-key adv --keyserver hkp://key

2017-09-29 16:05:50 270 1

原创 python字符串处理技巧

1. 调整字符串中文本的格式"""把"yyyy-mm-dd" 改为 "yyyy/mm/dd"解决方法:使用正则表达式re.sub()方法做字符串替换,利用正则表达式的捕获组(加括号),抓获每个部分内容,在替换字符串中调整各个捕获组的顺序re.sub('正则表达式', '(使用原始字符串,转义)组1\组2\...', 文本)参数2:月/日/年的形式输出。"""# log =

2017-09-28 05:28:28 267

原创 python拆分含有多种分隔符的字符串

两种方法:'''1.使用split方法,每次处理一种分隔符2.正则表达式'''str = 'dimples 1994 0.0 5454 \\2017/9.27 "haha" '方法一def mySplit(s, ds): res = [s] for d in ds: t = [] map(lambda x : t.exte

2017-09-27 08:08:49 951

原创 MySQL之连接查询

几种连接内链接 (inner) 两张表公共的部分集合在一起(取交集),产生的结果集全外连接 (full outer) 所有在A表和B表中存在的数据。无法对应Null填充 只存在于A表或B表中的数据,过滤两个表公共的部分左外连接 (left outer) A表和B表,以左表为基础, 只存在A表且不存在B表中的结果右外连接 (right outer) 以右表为基

2017-09-26 08:22:24 254

原创 NoSQL简介

非关系型数据库用于存储数据,最终一致性(数据结构服务器)为什么要使用高并发读写海量数据的高效率存储和访问高可扩展性和高可用性四大分类键值对存储:(radis:快速查询,村塾的数据恶恶少结构化)列存储查找速度快,扩展性强,功能比较局限文档数据库(mongoDB)数据结构要求不是严格,缺少统一查询语法图形数据库

2017-09-26 07:39:04 360

转载 python如何使用生成器函数实现可迭代对象

实际案例实现一个可迭代对象的类,它能迭代出给定范围内所有素数:pn = PrimeNumbers(1, 30)for k in pn: print k123输出结果为:2 3 5 7 11 13 17 19 23 291解决方案:将该类的__iter__方法实现成生成器函数,每次yield返回一个素数。有了解决方案后,我们首先要了解一下什么是生成器

2017-09-25 20:40:26 922

原创 MySQL之分组

分组按照字段分组,表示此字段相同的数据回被放到一个组中分组后,只能查询出相同的数据列可以对分组后的数据进行统计,做聚合运算语法:select 列1,列2,聚合... from 表名 group by 列1,列2,列3...查询男女生总数select gender,count(*) from students group by gender;分组后进行筛选查询

2017-09-25 00:36:55 384

原创 MySQL之聚合查询

将现有的多行数据进行统计,只能看到结果count(): 计算总行数,括号中写星与列名,结果是相同的*查询学生总数select count(*) from students;max(列): 表示此列的最大值查询女生编号的最大值select max(id) from students where gender=0;min(列): 表示此列的最小值查询 未删除的学生最小编号s

2017-09-25 00:13:17 490

原创 MySQL之where查询

比较运算只显示id,name: select id,name from students;消除重复行distinctselect distinct gender from students;条件select * from students where id>3;select * from students where isDelete=0;逻辑运算

2017-09-25 00:10:48 1941

原创 MySQL之备份与恢复

数据备份进入超级管理员:sudo -s进入mysql目录:cd ~/下载/mysql进入mysqldump命令:mysqldump -uroot -p 数据库名 > ~/下载/bak.sqlexitcd ~/下载/ls数据恢复连接mysql, 创建数据库退出连接, 执行如下命令mysql -uroot -p py31

2017-09-24 22:52:15 196

原创 MySQL之数据操作

逻辑删除保护重要数据。1. 在数据库中新增一个字段 isDelete, bit类型, 默认为0,表示没有删除。2. 若要删除改为1,获取 isDelete=0 的数据。查看更多mysql命令:mysql --help查询当前所选的数据库:show databases; 查看所有数据库select database(); 查询当前所选的

2017-09-24 19:52:49 437

原创 ubuntu安装navicat

下载Linux版本: https://www.navicat.com.cn/download/navicat-premium下载 navicat120_premium_cs_x64.tar.gz 文件下载后解压tar文件tar -zxvf navicat120_premium_cs_x64.tar.gz解压后 进入解压后的目录运行命令:./sta

2017-09-24 10:42:45 576

转载 Ubuntu上安装MySQL

Ubuntu上安装MySQL非常简单只需要几条命令就可以完成。1. sudo apt-get install mysql-server2. apt-get isntall mysql-client3. sudo apt-get install libmysqlclient-dev安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:

2017-09-24 09:11:15 186

原创 python可迭代对象和迭代器对象

由python内置函数iter得到一个迭代器对象, 由可迭代对象得到迭代器l = ['1', '2', '3', '4']s = 'dimples'for x in l: print x列表和字符串是可迭代对象列表满足了特殊的接口: l.__iter__()列表调用iter(l),实际上内部调用了l.__iter__()字符串并没有这个方法,但是有s.__getitem_

2017-09-23 08:13:40 627

原创 ajax跨域设置django-cors-headers

安装pip install django-cors-headers然后将其添加到已安装的应用程序中:INSTALLED_APPS =( ... ' corsheaders ', ... )还需要添加一个中间件类来收听响应:MIDDLEWARE = [ #或MIDDLEWARE_CLASSES on Django 1.10

2017-09-22 20:39:02 7507

原创 python字典保持有序

"""使用collections.OrderedDict(有序字典)以OrderedDict替代内置字典Dict,依次将选手成绩存入OrderedDict"""from collections import OrderedDictd = OrderedDict()d['aaa'] = (1, 45)d['bbb'] = (2, 47)d['ccc'] = (3, 50)pri

2017-09-22 08:14:08 309

空空如也

空空如也

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

TA关注的人

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