自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 XPath笔记 --留存

常用的 :①、/节点1/节点2.../节点n   :获取这个全路径下所有名字为 节点n的节点,返回一个集合②、child::book  :选取所有属于当前节点的子元素的 book 节点 RT,学习一篇博客所做的笔记,留做存根参考原文:https://blog.csdn.net/hemeinvyiqiluoben/article/details/48915845 ...

2018-11-15 16:29:38 328 1

转载 GitHub 使用命令上传项目、下载项目

一、创建github repository(仓库)1-1 登录github1-2 创建repository(仓库)如果没在这个页面也没关系,点击右上角的头像旁边的小三角,展开后可以看到Your profile,点击进入后也能看到repository切换到repository选项卡,可以看到很醒目的new按钮。不用犹豫,点击它,开始创建自己的粮仓了。下面是创建仓库信息...

2018-11-14 20:57:15 756

转载 scrapy-redis去重优化(Scrapy+Redis+Bloomfilter)附Demo福利

背景:前些天接手了上一位同事的爬虫,一个全网爬虫,用的是scrapy+redis分布式,任务调度用的scrapy_redis模块。大家应该知道scrapy是默认开启了去重的,用了scrapy_redis后去重队列放在redis里面。我接手过来的时候爬虫已经有7亿多条URL的去重数据了,再加上一千多万条requests的种子,redis占用了一百六十多G的内存(服务器,Centos7),总共才...

2018-11-13 22:38:44 3721

转载 mysql主从复制

mysql主从复制(超简单)怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:1、主从服务器分别作以下操作:  1.1、版本一致  1.2、初始化表,并在后台启动mysql  1.3、修改root的密码2、修改主服务器master:   #vi /etc/my.cnf       [mysqld]       log-bin=mysql-bin   //[必...

2018-11-12 15:05:30 165

转载 什么是 RESTful ?、RESTful API?

一、要弄清楚什么是RESTful API,首先要弄清楚什么是REST。REST -- REpresentational State Transfer,英语的直译就是“表现层状态转移”。如果看这个概念,估计没几个人能明白是什么意思。restFul是符合rest架构风格的网络API接口,完全承认Http是用于标识资源。restFul URL是面向资源的,可以唯一标识和定位资源。 对于该URL标识的...

2018-11-10 21:43:57 428

原创 安装Jupyter Notebook过程及出错解决方案

1、直接安装:pip3 install jupyter2、jupyter notebook3、①报错:解决:重新安装一下iPython②如果报错没有:prompt-toolkit文件因为在安装时报错,给卸掉了解决:安装一下即可4、再运行5、同时,会在你开启 notebook 的文件夹中启动 Jupyter 主界面,如下所示:选择pytho...

2018-11-08 12:32:04 10386

转载 Python爬虫---数据的提取和清洗的正则应用规则

最近在做一个项目,爬虫获取的数据可谓一锅粥,果断选择了正则表达式,下面是常用的规则:表达式全集字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multili...

2018-11-05 13:18:50 784

转载 HTTP协议对应的状态码及其含义

HTTP状态码(HTTP Status Code)  一些常见的状态码为:  1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明  100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。  101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。   2xx (成功)表示成功处理了请...

2018-11-05 11:15:51 1224

原创 爬虫-- 分布式 Erlang 、RabbitMQ 和Celery 的安装

分布式:多台服务器处理一个任务分布式爬虫使用Celery + RabbitMQ  实现,而且 RabbitMQ 是基于Erlang 安装的一、安装erlang  rabbitmq(1)windows下安装1、先安装erlang  otp_win64_21.1  直接默认路径,不要更改路径,一直next就行     再安装rabbitmq    安装完之后,在管理员权限运...

2018-10-30 20:07:49 486

原创 五十八、四、Django框架中配置使用mysql

mysql命令的回顾:注意:django框架不会自动生成mysql数据库,所以需要手动去创建。1、打开wamp软件,开始创建mysql数据库:2、进入虚拟环境创建django项目:3、进入项目创建应用4、注册刚刚创建的应用:5、修改settings.py中的DATABASES:  USER6、现在使用的是python3的虚拟环境:...

2018-09-11 21:51:35 156

原创 五十七、视图、模板配合使用,缺一不可、MVT综合案例

一、视图函数的使用注意:视图函数必须有一个参数request,进行处理之后,需要返回一个HttpResponse的类对象,hello python就是返回给浏览器显示的内容。1、在项目的views.py 文件中写入函数2、进行url配置:建立url地址和视图的对应关系在应用中创建urls.py文件,下面是一个urls.py文件中基本的代码,里面的代码可以从项目test1...

2018-09-11 21:30:26 233

原创 五十六、创建Django项目步骤、Django后台管理

1、windows下在桌面的路径(在自己指定的路径shift+打开命令窗口)或者 cd 路径进入虚拟环境(workon 名称)--创建项目名称 test12、进入根目录test1:3、创建分个应用(模块)例如自己定义名字--booktest     manage.py是管理文件的,固定写法就会多了个文件夹:4、用pycharm打开test1开始--配置项目的...

2018-09-10 22:04:07 472

原创 五十五、windows和Linux下虚拟环境的创建和使用

一、问题:安装同一个包的不同版本,后安装的包会把原来安装的包覆盖掉。这样,如同一台机器上两个项目依赖于相同包的不同版本,则会导致一些项目运行失败。解决的方案就是:虚拟环境。虚拟环境是真实python环境的复制版本。在虚拟环境中使用的python是复制的python,安装python包也是安装在复制的python中。二、Windows下安装虚拟环境的命令:(管理虚拟环境)...

2018-09-10 21:28:19 323

原创 五十四、mysql数据库8:MySQL内置函数 — 日期时间函数、加密sha1

一、日期时间函数1、获取子值2、日期计算,使用+-运算符,数字后面的关键字为year、month、day、hour、minute、second3、日期格式化date_format(date,format)4、当前日期current_date()5、当前时间current_time()6、当前日期时间now()7、小应用:...

2018-08-26 15:47:04 823

原创 五十三、Redis数据库3:使用pycharm软件写命令操作redis

一、参考学习:PyPI:https://pypi.python.org/pypi/redisGitHub:https://github.com/andymccurdy/redis-py1、(重点学习)文档:http://redis-py.readthedocs.io/en/latest/2、安装redis 模块Windows下:python3 -m pip install re...

2018-08-26 14:26:25 1183

原创 五十二、Redis 数据库 2:set类型、zset类型、hash类型

一、set集合类型(无序集合类型)redis里面的set集合类型是string类型的无序集合,被称为无序集合类型。set元素最大可以包含(2的32次方-1)个元素。1、集合满足三个特点:无序性:集合里面的数据是没有顺序之分。唯一性:集合里面的数据彼此是不能重复。确定性:集合里面的数据的个数是确定的。2、该类型应用场合:qq好友推荐3、sadd向集合里面添加元素:...

2018-08-25 22:30:27 685

原创 五十一、Redis数据库1:Redis数据库string类型、 list链表类型

一、数据库连接直接本机连接:redis-cli连接虚拟机:  redis-cli  -h  虚拟机ip地址 -p  6379二、相关操作Redis:内存缓存,key/value形式的1、设置key及value注意:username这个key没有的话会创建,有的话,就会覆盖。2、获取key及value3、incr做自增操作,可以对某个key的value进行+1...

2018-08-25 21:57:02 281

原创 五十、MongoDB数据库2:Python操作MongoDB数据库

一、安装pymongo库pymongo是操作MongoDB的python模块Python2的安装方法:python2 -m pip install pymongoPython3的安装方法:python3 -m pip install pymongolinux下的安装方法: sudo python3 -m pip install  pymongo二、插入数据:1、插入一条数据...

2018-08-25 20:28:05 245

原创 四十九、MongoDB数据库1:MongoDB的增、删、改、查

一、连接数据库如果只在windows下使用:进入数据库命令:mongo如果windows要连接虚拟机(服务器),命令:mongo  服务器IP地址:27017Mongodb ‘无状态模式’,不用去设计,直接用,存什么东西,取决于前边传什么,后边就存什么。中文文档:http://docs.mongoing.com/英文文档:https://docs.mongodb.com/man...

2018-08-25 20:09:43 611

原创 四十八、mysql数据库7:Mysql与python的交互、参数化(重点python与mysql交互传参)

一、使用python命令连接数据库流程二、python3 安装pymysql包创建py文件,进行插入数据:通过python文件来连接数据库实现交互(前提需要安装pymysql包)1、Linux下安装pymysql包在python3的环境下安装pymysql包:pip3 install pymysql进行安装。提示升级可使用命令更新:更新完再安装一下2、Win...

2018-08-25 19:16:38 4726

原创 四十七、mysql数据库6:(重点)视图、事务、索引

一、视图1、创建视图,建议以v_开头,查询所有学生信息2、查看视图:查看表会将所有的视图也列出来3、使用:视图的用途就是查询4、删除视图二、(重点)事务1、事务(Transaction)是并发控制的基本单位。所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,...

2018-08-25 18:58:22 168

原创 四十六、mysql数据库5:(重点)商城数据库优化(三范式,细分表)、数据备份与还原

一、创建商品分类表:(分开插入数据的)1、创建 goods_cates 表#创建表if 用法: 如果不存在创建,存在报错create table if not exists goods_cates(cate_id int unsigned primary key auto_increment, cate_name varchar(40));      2、将刚刚查询的数据插入到...

2018-08-25 18:00:23 298

原创 四十五、mysql数据库4:MySQL高级查询

一、连接查询操作:mysql支持三种类型的连接查询,分别为:内连接、右连接、左连接。注意:一个数据库中如果有多个表的话,表名是不能省略的。1、使用内连接查询班级表与学生表(inner join)on后面跟着连接查询的条件:select students.name,classes.name from students inner join classes on stu...

2018-08-25 17:37:27 237

原创 四十四、mysql数据库3:MySQL各种查询命令

一、查询的命令1、查询所有信息: select * from 表名 ;2、也可以这样查,查详细点:数据库.表名 .*3、数据库的名字省略的前提是:你当前所选择的数据库就是该数据库,因此要选择相应的数据库里的表。4、查询表中的部分字段信息: ① 详细查询:② 在当前表中可省略表名,直接查询:5、给表起别名  —  用as ① 这种形式的:前面的也需要修改:...

2018-08-18 17:03:40 375

原创 四十三、mysql数据库2:插入、更新、删除数据

一、插入数据1、全列插入:(必须一一对应)① 注意:为主键以及自动增长的id字段的值进行占位有3种方法【0】和【null】和【default】。         #全列插入——中间用,分开,一一对应起来,         #【0】和【null】和【default】都是占位符。 生日必须加""         #可分别插入数据,也可一次性插入数据         insert...

2018-08-18 16:36:51 396

原创 四十二、mysql数据库1:数据库初识、数据库与数据库表的相关操作

一、关系型数据库当前主要使用两种类型的数据库:【关系型数据库】和【非关系型数据库】所谓的关系型数据库RDBMS是建立在关系模型基础之上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。1、关系型数据库核心元素数据行(记录)数据列(字段)数据表(数据行的集合)数据库(数据表的集合)2、关系型数据库的主要产品:Oracle:在以前的大型项目中使用,银行、...

2018-08-18 16:12:50 300

原创 四十一、TCP网络:TCP的服务端和客户端、TCP 多进程、多线程 服务器

一、TCP服务器代码的编写1、改成桥接模式:能通信2、网络调试助手要选择TCP Client(客户端)、服务器和端口号要填写服务器的(虚拟机的)          3、服务端代码如下: 二、TCP客户端代码的编写1、在虚拟机上运行代码(与服务端代码是两个文件)2、可与网络调试助手通信(调试助手当做服务端,在虚拟机上运行代码当客户端,运行的代码必须写上ip地址),...

2018-08-16 21:14:36 700

原创 四十、Udp网络2:模拟QQ聊天功能、Udp总结和广播实例

一、模拟QQ聊天功能1、echo服务器原理     收到了数据,再给人原封不动的返回去,这样的服务器就叫做echo服务器。2、模拟QQ聊天-多线程+Udp网络     在虚拟机上运行程序,在网络调试助手回应虚拟机二、udp总结和广播实例 广播只能在udp中使用,tcp中使用不了 1. udp是TCP/IP协议族中的一种协议,能够完成不同机器上的程序间的数据通...

2018-08-15 20:42:56 674

原创 三十九、Udp网络1:使用socket 发送、接收数据,绑定端口和中文编码解码问题

一、初识Udp网络发送数据(1)前提:必须要保证他们在同一个局域网中,要在一个网段才行        NetAssist.ext软件是用来协助我们完成网络请求:        网络设置:填写的是自己电脑上的IP地址。        目标主机和目标端口:填写的是你要给谁发送的那个人的ip地址和端口号。        发送的内容:在那个大白框中进行填写。    1、网络调试助手...

2018-08-15 20:29:33 4489 1

原创 三十八、协程

一、协程1、协程其实可以认为是比线程更小的执行单元2、多进程和多线程的执行效率,没有协程高。     但是写代码还是协程用的少,因为代码逻辑较复杂。多用进程、线程。3、计算机密集型===》需要占用大量的cpu资源,用多进程     IO密集型===》需要网络功能,大量的时间都在等待网络数据的到来,用多线程、协程4、协程 — 完成多任务,协程的底层就是用生成器做的 ...

2018-08-14 20:11:41 124

原创 三十七、线程(重点):创建线程、线程共享全局变量、互斥锁(知道原理)

一、创建线程(1)线程导包的两种方式:(2)   1、多个线程执行同一个函数,线程之间互不影响,并且主线程与子线程之间也互不影响,各自执行各自的代码   2、进程里面包含线程    ——       进程是资源分配的单位,线程是CPU调度的单位。         进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ         线程,能够完成多任务,比如 一...

2018-08-14 20:07:23 1367

原创 三十六、进程2(重点):进程池Pool、进程间通信(队列、栈)、多进程拷贝文件(综合运用)

一、进程池Pool1、apply_async (func , args , kwds)   非阻塞方式     apply(func,args,)  阻塞方式使用非阻塞方式调用函数(并行执行,进程间同步执行)堵塞方式必须等待上一个进程退出才能执行下一个进程(相当于单进程执行)args为传递给func的参数列表,kwds为传递给func的关键字参数列表;2、close():关...

2018-08-13 20:49:48 255

原创 三十五、进程1:fork创建子进程(不常用)、Process创建子进程(常用)

一、fork创建子进程(不能跨平台,只在Linux下执行,windows下不执行)         编写完毕的代码,在没有运行的时候,称之为程序,     正在运行着的代码,就成为进程         进程,除了包含代码以外,还有需要运行的环境等,所以和程序是有区别的1、主进程从一开始导入import os 开始执行,子进程从os.fork()创建出开始进行,会分开各自执行各自的代码,...

2018-08-10 20:51:43 2283

原创 三十四、正则表达式3:匹配分组(重点)以及 search、findall、sub、split方法介绍

一、匹配分组1、| 匹配左右任意一个表达式 (|  或者的意思,匹配字符串整个内容的)需求:匹配出0-100之间的数字可以改进一下:2、(ab)将括号中字符作为一个分组,可单独拿出来① 进行group()的时候是得到的整个匹配的内容    group()方法添加参数,例如group( 1 )   可单独拿出第一个分组内的内容    (参数0,写上和不写一样,...

2018-08-10 20:16:23 3394

原创 三十三、正则表达式2:r—转义、边界($、^、\b、\B)

一、转义  使用 r 能够自动转义\t、\n来理解转义:打印时本来是输不出\n的,加上r后自动转义,相当于\\nabc总结:1、r的意思是说:它是英文单词raw的一个缩写,也就是说当你在定义这个字符串的时候它是什么样的,最终在输出打印的时候     就是什么样的,中间转义的过程python帮我们实现了。2、例如:re.match(r"[a-z0-9][a-z0-...

2018-08-09 20:32:06 8111

原创 三十二、(重点)正则表达式1:re模块(re.match、group())、正则表达式单字符匹配、正则数量({m}、{m,n})

一、re模块(re.match、group()方法)1、2、re.match() 能够匹配出以xxx开头的字符串(从左到右开始依次匹配)3、若匹配成功,返回字符串的匹配成功的部分,同时可以使用group方法来提取具体的数据。二、正则表达式的单字符匹配(只匹配1个字符)1、. 匹配任意1个字符(除了\n都能匹配)——(例如#、?都能匹配)校验一下你字符串当中够...

2018-08-09 19:37:10 6177

原创 三十一、迭代器、iter()函数

一、凡是可作用于 for 循环的对象都是 Iterable(可迭代的对象) 类型一类是集合数据类型,如 list 、 tuple 、 dict 、 set 、 str 等;一类是 generator ,包括生成器和带 yield 的generator function。都是可迭代对象二、凡是可作用于 next() 函数的对象都是 Iterator(迭代器) 类型       生...

2018-08-09 10:11:18 251

原创 三十、列表生成式、生成器、__next__()、send(传参)

一、列表生成式(几种形式记住)1、for只控制循环的次数,而for前面的变量决定着数据的内容,这就叫做列表生成式。2、后面加判断句的,也常见 3、4、二、生成器(保存是算法,generator)1、生成器的特点:只是保存了生成列表数的一个算法,什么时候需要用,就next() 调用。(1)创建生成器方法1:简单,只要把一个列表生成式的 [ ] 改成...

2018-08-07 17:50:49 315

原创 二十九、重点:__new__方法、单例模式(工厂模式)

一、__new__方法1、真正在实例化对象的时候第一个执行的方法是__new__2、若__new__没有正确返回当前类cls的实例,那__init__是不会被调用的。3、正确的返回当前类:return object.__new__(cls)4、总结:Python的new方法负责创建,init方法负责初始化。二、单例模式不管创建多少次,仅仅只有一个对象,这样模式就叫做...

2018-08-07 15:29:18 227

原创 二十八、闭包(装饰器的底层原理)、装饰器的引入、深入学习、带参数的装饰器

一、闭包的原理、结构二、装饰器的引入一句话总结:生成器是用来生成东西的,装饰器是用来装饰东西的。1、定义了两个名称一样的函数(重写):只执行重写的函数2、运行原理:把f1首地址(也可以记成把f1整个函数)传参给了w1方法的func,这时func=f1的首地址,开始执行w1方法,先直接return  inner ;这时候因为@w1 相当于f1=w1(f...

2018-08-06 20:18:04 261

空空如也

空空如也

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

TA关注的人

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