
开发
文章平均质量分 58
纳尔逊皮卡丘
吾生也有涯,而知也无涯。以有涯随无涯,殆已!已而为知者,殆而已矣!
展开
-
python爬虫糗事百科
#coding:utf-8import urllib2import re# 工具类class Tools(object): remove_n = re.compile(r'\n') replace_br = re.compile(r'|') remove_ele = re.compile(r'', re.S) #rs 参数,要进行替换的数据 def原创 2017-08-14 13:19:48 · 4445 阅读 · 2 评论 -
python爬虫爬取NBA贴吧的所有精品贴
首先用直接的方法写,先尝试下能否爬取成功#coding:utf-8import urllib2,urllibimport re'''1.准备url地址2.准备请求头3.创建请求对象4.发起请求获取第一页源代码,接收响应5.通过第一页源代码,找到总页数和标题6.for循环执行总页数次 6.1 根据页码拼接完整的URL地址 6.2 创建request对象,发起请求原创 2017-08-15 19:35:27 · 10062 阅读 · 2 评论 -
Python爬虫爬取智联招聘职位信息
目的:输入要爬取的职位名称,五个意向城市,爬取智联招聘上的该信息,并打印进表格中#coding:utf-8import urllib2import reimport xlwtclass ZLZP(object): def __init__(self,workname,citys): # 记录查找工作名称 self.workname =原创 2017-08-17 21:15:07 · 8973 阅读 · 3 评论 -
Python scrapy爬虫爬取伯乐在线全部文章,并写入数据库
伯乐在线爬虫项目目的及项目准备:1.使用scrapy创建项目2.创建爬虫,bole 域名 jobbole.com3.Start_urls = [‘http://blog.jobbole.com/all-posts/’]4.爬取所有页数的文章5.文章列表页需要数据a) 缩略图的地址b) 详情url地址6.详情页面要提取的数据# 博客标题 # 博客创建原创 2017-09-11 18:45:48 · 3955 阅读 · 1 评论 -
python数据分析之Numpy
NumpyNumPy系统是Python的一种开源的数值计算扩展ndarray 多维数组 * 所有元素必须是相同类型 * ndim属性,维度个数 * shape属性,各维度大小 * dtype属性,数据类型# coding:utf-8import numpy as np# 生成指定维度的随机原创 2017-09-11 21:03:19 · 3415 阅读 · 0 评论 -
用python绘制词云
开发环境:python2.7需要的库:wordcloud,jieba,matplotlib下载库: pip install wordcloud通过jieba分词将读取的文本分成字符串,通过wordcloud生成词云,根据词频来显示特色词云图片,让人更加直观的明白文本的词频最大的文字首先,我们需要准备一个txt文本文件,以及一个png的图片当我们的背景图片,生成词云的形状与此图片原创 2017-09-11 22:08:45 · 8947 阅读 · 0 评论 -
MySQL简介
MySQL 是一个开源代码的数据库管理系统(DBMS),是一个跨平台的关系型数据库管理系统。数据库发展分为几个阶段:人工管理阶段,文件系统阶段,数据库系统阶段,高级数据库阶段。其种类大概分为:层次式数据库,网络式数据库和关系式数据库。数据库的特点:数据共享,减少数据冗余,采用特定的数据类型,具有较高的数据独立性,具有统一的数据控制功能。常用的数据类型有:整数数据类型,浮点数数据类型原创 2017-09-13 19:19:48 · 3691 阅读 · 0 评论 -
数据库的简单操作
在MySQL安装完成之后,将会在其data目录下自动创建几个必需的数据库,这些数据库时系统自带的数据库文件,他面熟用户访问全向,不要妄动。可以使用SHOW DATABASES;来查看当前的数据库。在我们创建数据库文件之前,我们首先要连接数据库:mysql -h 数据库地址 -u用户名 -p密码 创建数据库文件:CREATE DATABASE database_name;原创 2017-09-13 20:05:33 · 3274 阅读 · 0 评论 -
MySQL数据类型
MySQL支持多种数据类型,主要有数值类型、日期类型、日期/时间类型和字符串类型。数值数据类型:包括整数类型TINYINT, SMALLINT, MEDIUMINT ,INT, BIGINT,浮点小数数据类型FLOAT和DOUBLE,定点小数类型DECIMAL。日期/时间类型:包括YEAR,TIME,DATE,DATETIM和TIMESRAMP。字符串类型:包括CAHR,VARCHAR原创 2017-09-13 20:43:09 · 3177 阅读 · 0 评论 -
MySQL单表查询多表查询
单表查询和多表查询一:单表查询(1)查询字段,可以指定select *或者某些字段名(2)查询记录,通过where限定一个条件。如取出dept_no=20的e_name和e_job信息obj.selectSql('select e_name,e_job from employee where dept_no=20')(3)and or语句,and表示要满足多个条件同时成立,原创 2017-09-13 21:30:09 · 4043 阅读 · 0 评论 -
python发送带附件邮件
1. 不包括附件的邮件#coding:utf-8import smtplibimport string# 发送普通的文本邮件# 邮件smtp的地址HOST = 'smtp.163.com'# 定义邮件的标题SUBJECT = '这是邮件标题'# 发件人FROM = 'xxx@163.com'# 收件人To = 'xxx@qq.com'# 发送的邮件文本内容TEX原创 2017-11-03 21:59:39 · 10027 阅读 · 0 评论 -
基于Redis分布式爬虫
分布式爬虫1) 在爬虫的settings.py中添加下面两句话# Enables scheduling storing requests queue in redis.SCHEDULER = "scrapy_redis.scheduler.Scheduler"# Ensure all spiders share same duplicates filter through re原创 2017-11-03 22:19:56 · 3755 阅读 · 0 评论 -
Django创建项目及虚拟环境搭建
Django创建项目及虚拟环境搭建:1)使用workon搭建基于python2.7的django开发环境cmd命令行输入:mkvirtualenc --python=D:\python\python2.7\python.exe py2Django创建完虚拟环境会自动进入虚拟环境2)进入虚拟环境,下载django框架在虚拟环境下:pip install django 或者豆瓣原创 2017-09-19 19:30:46 · 3905 阅读 · 0 评论 -
递归算法堆栈溢出
递归算法: 一种直接或者间接的调用自身算法的过程。在计算机编写程序中,递归算法对解决一大类问题是十分有效的。特点: ①递归就是在过程或者函数里调用自身。 ②在使用递归策略时,必须有一个明确的递归条件,称为递归出口。 ③递归算法解题通常显得很简洁,但递归算法解题的效率较低。所以一般不倡导使用递归算法设计程序。 ④在递归调用的过程当中系统的每一层的返回点、局部变量原创 2017-11-27 20:58:46 · 5312 阅读 · 0 评论 -
内存中的堆和栈
内存结构:堆区,栈区,全局区,文字常量区,程序代码区栈:栈是你的电脑内存的一个特别区域,它用来存储被每一个function(包括mian()方法)创建的临时变量。栈是FILO,就是先进后出原则的结构体,它密切的被CPU管理和充分利用。每次function声明一个新的变量,它就会被“推”到栈中。然后每次一个function退出时,所有关于这个函数中定义的变量都会被释放(换句话原创 2017-11-27 20:51:32 · 2934 阅读 · 0 评论 -
如何避免内存泄漏?
内存泄漏由于疏忽,或者错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。导致程序运行速度减慢,甚至系统崩溃等严重后果。有__del__()函数的对象间的循环引用是导致内存泄漏的主凶。不使用一个对象时,使用:del object 来删除一个对象的引用计数就可以有效防止内存泄漏问题原创 2017-11-27 20:41:55 · 3323 阅读 · 0 评论 -
布隆过滤器原理
布隆过滤器: 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 基本概念: 如果想要判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思原创 2017-12-13 22:12:55 · 764 阅读 · 0 评论 -
Python的内存管理机制
Python的内存管理机制一、引用计数:通过引用计数来保持对内存中的变量跟踪,Python内部记录中所有在使用对象各有多少个引用。Python中有个内部跟踪变量叫做引用计数器,每个变量有多少个引用,简称引用计数。当对象被创建时就创建了一个引用计数。当某个对象的引用计数为0时,对象就不在需要,就列入了垃圾回收队列。引用计数增加:1.对象被创建:x=4;2.另外的别人被创建:y原创 2017-11-25 12:06:41 · 4207 阅读 · 0 评论 -
关系型数据库的ACID指的是什么?
关系型数据库的ACID:1、A (Atomicity)原子性原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败原创 2017-11-25 11:44:55 · 9961 阅读 · 0 评论 -
cookie的属性和属性的作用
cookie属性:name字段 :一个cookie的名称。value字段 :一个cookie的值。domain字段 :可以访问此cookie的域名path字段:可以访问此cookie的页面路径。Size字段 :此cookie大小。http字段 :cookie的httponly属性。若此属性为true,则只有在http请求头中会带有此cookie的信息,而不能通过docume原创 2017-11-25 11:41:46 · 7396 阅读 · 0 评论 -
http、https的区别
http、https的区别:http:http协议是超文本传输协议,被用于在web浏览器和网站服务器之间传递信息。http协议工作是以明文方式发送内容,不提供任何形式的数据加密,而这也是很容易被黑客利用的地方,如果黑客截取了web浏览器和网站服务器之间的传输信息,就可以直接读懂其中的信息,因此http协议不适合传输一些重要的、敏感的信息,比如信用卡密码及支付验证码等。https:安全套原创 2017-11-25 11:39:30 · 3956 阅读 · 0 评论 -
Http请求头和常见响应状态码
请求头:Accept:指浏览器或其他客户可以接爱的MIME文件格式。可以根据它判断并返回适当的文件格式。Accept-Charset:指出浏览器可以接受的字符编码。英文浏览器的默认值是ISO-8859-1.Accept-Language:指出浏览器可以接受的语言种类,如en或en-us,指英语。Accept-Encoding:指出浏览器可以接受的编码方式。编码方式不同于文件格式原创 2017-11-25 11:35:15 · 4465 阅读 · 0 评论 -
多线程和多进程的区别?
多线程和多进程的区别?线程:线程是操作系统能够进行运算调度的最小单位(程序执行流的最小单元)。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自原创 2017-11-25 11:32:42 · 3490 阅读 · 0 评论 -
MySQL的索引
索引是数据库表中一列或多列的值进行排序的一种结构,使用索引可提高数据库中特定数据的查询速度。索引是一个单独的、存储在磁盘上的数据库结构,包含着对数据表里的所有记录的引用指针,使用索引用于快速找出某个或多个列中有一定值的行,所有的MySQL列类型都可以被索引。索引的优点:1)可保证数据库表中每一行数据的唯一性2)可以加快数据的查询速度3)在实现数据参考完整性方面,可以加速表和表之原创 2017-09-13 21:44:58 · 3216 阅读 · 0 评论 -
MySQL的视图
MySQL的视图视图是从一个或者多个表中导出的,视图的行为与表非常相似,但视图是一个虚拟表。在视图中用户可以使用SELECT语句查询数据,以及使用INSERT、UPDATE修改记录。视图的优点:简单化:经常使用的查询可以被定义为视图。安全性:通过视图用户只能查询和修改他们所能见到的数据。数据库的其他数据则既看不见也取不到。通过视图,用户可以被限制在不同的子集上:1)使用原创 2017-09-14 17:54:12 · 3353 阅读 · 0 评论 -
MySQL用户管理
MySQL服务器通过权限表来空值用户对数据库的访问,权限表存放在mysql数据库中,由mysql_install_db 脚本初始化,存储账户权限信息表主要有:user,db,host,tables_priv,columns_priv和procs_priv.user表是MySQL中最重要的一个权限表,其中的字段大致分为四类:用户列,权限列,安全列和资源控制列。其中用户列包括:Host、Use原创 2017-09-14 20:18:06 · 3350 阅读 · 0 评论 -
Linux基本操作命令
Linux基本操作命令一、常用指令1. ls 显示文件或目录2. -l 列出文件详细信息l(list)3. -a 列出当前目录下所有文件及目录,包括隐藏的a(all)4. mkdir 创建目录5. -p 创建目录,若无父目录,则创建p(parent) 6. cd 切换目录7. touch 创建空文件8.原创 2017-10-30 22:24:46 · 3127 阅读 · 0 评论 -
memcache和redis区别
memcache和redis区别Memcache时一个内存对象缓存系统,用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络I/O,工作机制:在内存中开辟一块空间,然后建立一个hash表,memcached自管理这些hash表memcache与redis区别1)redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据原创 2017-11-03 22:17:00 · 4080 阅读 · 0 评论 -
微信订阅号和服务号的区别
订阅号和服务号的区别一丶展示位置:所有的订阅号都被折叠到一起,共同挤在一个叫“订阅号”的文件夹中;服务号是直接展示在微信首页的,并且用蓝色字体展示,打开微信就可以看到。二丶群发数量:订阅号每天可以群发一条,服务号每月可以群发四条。有的朋友可能注意到有些订阅号是可以每天可以群发三条的,这些账号都是在公众平台内测期创建的,才享有此特权。内测期过后创建的账号都没有这种特殊待遇。三丶自原创 2017-11-03 22:36:53 · 5094 阅读 · 0 评论 -
ElasticSearch的简单介绍
ElasticSearch的基本概念1、集群:一个或者多个节点组织在一起 2、节点:一个节点是集群中的一个服务器,由一个名字来标识,默认是一个随机的漫微角色的名字 3、分片:将索引(相当于数据库)划分为多份的能力,允许水平分割和扩展,对个分片响应请求,提供性能和吞吐量 4、副本:创建分片的一份或者多份的能力(相当于备份),在一个节点失败其余节点可以顶上E原创 2017-11-09 22:22:52 · 3940 阅读 · 0 评论 -
Elasticsearch基本CRUD操作
# es中对数据的增删改查都是通过请求的方式完成的# es使用的是RT接口,所有的操作都会根据请求的方式来进行# GET 获取引擎的数据# POST\PUT 向引擎添加数据# DELETE 删除引擎数据# 新建一个索引(理解为mysql中的数据库)# 请求方式 索引名称#PUT student{"settings": {"index":{"num原创 2017-11-10 19:35:09 · 3643 阅读 · 0 评论 -
Elasticserach-mappings映射
# 映射mappings# 创建索引的时候,预先定义的字段的类型以及字段的相关属性# 如果创建索引的时候不指定映射关系,es会根据json中的数据进行分析,自动帮你建立映射关系# 映射好处:会让索引建立的更加完善,方便后续的搜索工作# es支持的类型:# # 创建索引,添加mappings映射# 相当于在创建数据库中的表的时候,设置表中字段的数据类型原创 2017-11-10 19:38:08 · 3606 阅读 · 0 评论 -
Elasticsearch基本搜索
# ES 分为三种查询方式# 1.基本查询 2.复合查询 3.过滤# 1.基本查询:可以使用es中内置的一些查询条件进行查询# 2.复合查询:可以把多个查询条件结合在一些进行复合查询# 3.过滤:在查询的过程中,使用filter在不影响打分的情况下进行数据筛选# match查询,使用较多# _search 查询的接口GET jobs/job/_search{原创 2017-11-10 19:40:35 · 3563 阅读 · 0 评论 -
Elasticsearch-bool组合查询
# bool组合查询# filter:过滤,不参与打分# must:如果有多个条件,这些条件都必须满足 an与# should:如果有多个条件,满足一个或多个即可 or或# must_not:和must相反,必须都不满足条件才可以匹配到 !非GET 51jobs/job/_search{ "query": { "bool": { "must": {原创 2017-11-10 19:45:24 · 14037 阅读 · 0 评论 -
Django缓存系统
为什么要做django缓存?在动态网站中,用户每次请求一个页面,服务器都会执行以下操作:查询数据库,渲染模板,执行业务逻辑,最后生成用户可查看的页面。这会消耗大量的资源,当访问用户量非常大时,就要考虑这个问题了。缓存就是为了防止重复计算,把那些消耗了大量资源的结果保存起来,下次访问时就不用再次计算。Django缓存系统:Django提供了自己的缓存系统,可以自己保存动态网页原创 2017-11-22 19:35:49 · 2644 阅读 · 0 评论 -
tcp和udp的区别?
TCP(Transmission Control Protocol,传输控制协议) 面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台原创 2017-11-25 11:13:25 · 3261 阅读 · 0 评论 -
Linux标准目录结构
Linux标准目录结构沙盒机制:苹果软件开发 ios macos /:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中 /bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。 /boot:放置linux系统启动时用到的一些文件。原创 2017-10-30 22:22:04 · 3161 阅读 · 0 评论 -
Django的form表单
环境:Windows、Python2.7.13编辑器:pycharm使用库:django1.11.5目标:使用定制forms在前端展示一个简单的加法运算在很多情况下,前端页面form表单约束,并不能满足我们的需求,就需要自定义form表单,而django中也提供了form表单机制。forms.py文件:Django提供的用于自定义表单的文件,可以取代HTML中的标签,H原创 2017-10-11 19:55:33 · 3799 阅读 · 1 评论 -
Django中生成二维码
在Django中生成二维码环境:Windows、Python2.713编辑器:pycharm使用库:django1.11.5,qrcode5.3,Image1.5.16其中qrcode是基于Image库的基础的。均可pip install 进行安装安装Image:pip install Image安装qrcode:pip install Image创建Djang原创 2017-10-11 19:38:49 · 4840 阅读 · 0 评论 -
Mysql忘记root密码后如何重置
1.确保环境变量下mysql的path路径为C:\Program Files\MySQL\MySQL Server 5.7\bin 或自己安装的mysql路径下的\MySQL Server 5.7\bin2.使用net stop mysql47 停止mysql服务3.输入mysqld --skip-grant-tables启动mysql服务,此时mysql将以不开启权限验证的方原创 2017-09-14 20:44:30 · 3496 阅读 · 0 评论