自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 数据库课程设计

图书管理系统 1.概述 项目背景 2.需求分析 2.1 系统需求 2.2 数据需求 2.3 数据字典 2.3.1 书籍信息表 2.3.2 库存信息表 2.3.4 顾客信息表 2.3.5 管理员信息表 2.3.6 图书类型信息表 2.3.7 订单详细信息表 3.数据库设计 ...

2019-01-06 10:00:32

阅读数 4831

评论数 0

原创 Python实现深度和广度搜索

class list_node(object): def __init__(self, val): self.val = val self.next = None # 建立邻接表 def create_linjiebiao(data): all_...

2020-01-02 19:11:08

阅读数 54

评论数 0

原创 老鼠走迷宫问题

问题描述: 给定一个二维数组,数组中1表示墙壁,0表示通路,由此数组可展示为一个迷宫图。给定入口位置和出口位置,判断之间是否存在通路并显示出走出迷宫的道路。 class Node(object): def __init__(self, x, y): self.x = x...

2019-12-25 19:16:35

阅读数 15

评论数 0

原创 redis学习记录(6)高效使用内存

内存回收策略 一、删除到达过期时间的键对象 1、删除过期键对象 Redis所有的键都可以设置过期属性, 内部保存在过期字典中。 由于进程内保存大量的键, 维护每个键精准的过期删除机制会导致消耗大量的CPU, 对于单线程的Redis来说成本过高, 因此Redis采用惰性删除和定时任务删除机制...

2019-12-24 21:53:56

阅读数 7

评论数 0

原创 HTTP协议系统学习

目录 一、了解HTTP 1、浏览器背后的故事 2、HTTP的起源 3、通过TCP/IP看HTTP 3.1、TCP/IP协议族 3.2、TCP/分层管理 3.3、TCP/IP通信传输 4、各种协议与HTTP协议的关系 二、熟悉HTTP 1、HTTP协议特点 2、迷之URL和UR...

2019-12-19 17:09:20

阅读数 25

评论数 0

原创 裂缝检测标记

闲来无事,做的一个小东西。效果图: 既然能检测裂缝,那是不是……本来想开个车,奈何代码有bug,又不想改,就算了吧 代码如下: srcImg=imread('3.jpg'); %图片读取 subplot(3,4,1); imshow(srcImg); ...

2019-12-18 21:14:48

阅读数 47

评论数 0

原创 搜索引擎实验报告

一、实训内容 搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上采集信息,在对信息进行组织和处理后,为用户提供检索服务,将检索的相关信息展示给用户的系统。 网络中用于各种功能的搜索引擎非常多,在求职,找工作方面,智联招聘、拉勾网等也比较优秀,但数据都过于集中,却缺少重点。对于即将毕业的...

2019-12-12 13:56:18

阅读数 24

评论数 0

原创 redis学习记录(5)redis缓存

缓存的使用与设计 加入缓存的流程 一、缓存的收益与成本 1、收益 加速读写 因为缓存通常都是全内存的(例如Redis、 Memcache) , 而存储层通常读写性能不够强悍(例如MySQL) , 通过缓存的使用可以有效地加速读写, 优化用户体验。 降低后端负载 帮助后端减少访...

2019-12-11 18:17:36

阅读数 9

评论数 0

原创 redis学习记录(4)redis集群

一、Redis Cluster 1、集群 (1)单个redis存在不稳定性。当redis服务宕机了,就没有可用的服务了。 (2)单个redis的读写能力是有限的。 2、数据分布 分布式数据库首先要解决把整个数据集按照分区规则映射到多个节点的问题, 即把数据集划分到多个节点上, 每个节点...

2019-12-07 18:18:04

阅读数 11

评论数 0

原创 redis学习记录(3)redis高可用理解

一、主从复制存在的问题 一旦主节点出现故障, 需要手动将一个从节点晋升为主节点, 同时需要修改应用方的主节点地址, 还需要命令其他从节点去复制新的主节点, 整个过程都需要人工干预。 二、高可用 redis sentinel 1、概述: Redis Sentinel是一个分布式架构...

2019-12-06 19:09:51

阅读数 6

评论数 0

原创 redis学习记录(2)持久化&redis复制

目录 一、redis持久化 (1)AOF 1、什么是AOF 2、三种策略 AOF重写? AOF重写配置: (2)RDB 1、什么是RDB? 2、触发机制 (3)RDB和AOF比较 二、redis复制的原理与优化 1、什么是主从配置 2、复制的配置 3、全量复制和部分复制...

2019-12-05 20:39:51

阅读数 38

评论数 0

原创 redis学习记录(1)

一、redis特性 1、速度快 10w QPS 数据存放在内存,C语言实现,单线程 2、持久化 Redis所有数据保存在内存中,但是对数据的更新将异步地保存在磁盘上。 3、多种数据结构 列表 哈希 集合 有序集合 字符串 位图 :BitMaps HyperLogLog:超小...

2019-12-03 20:09:03

阅读数 10

评论数 0

原创 使用scrapyd部署爬虫

一、scrapyd pip install scrapyd 需要两个东西: scrapyd是一个服务器,还需要一个client 二、scrapyd-client: pip install scrapyd-client 打包本地爬虫,传到scrapyd 三、 修改项目下的sc...

2019-11-29 17:24:14

阅读数 6

评论数 0

原创 Django+scrapy结合elasticsearch构建搜索引擎(一)

这个项目是大四上学期实习的一个项目。因为我正好也在学Scrapy,所以就以这个作为项目。也可能作为我的毕业设计。 github地址:https://github.com/tianmingbo/scrapy-elastic 一、elasticsearch使用 https://blog.csdn...

2019-11-28 21:36:04

阅读数 6

评论数 0

原创 搜索引擎搭建

一、java环境安装 二、elasticsearch-rtf安装(github) https://github.com/search?q=elasticsearch-rtf 三、elasticsearch-head安装(github) 需要安装node.js 更改安全策略,否则elass...

2019-11-26 21:20:55

阅读数 16

评论数 0

原创 自动化提交数据

工作需要,要往后台添加数据,我又太懒,不想一个一个点,所以写了一个自动提交工具,使用selenium+爬虫做的一个小工具。懒是我进步的阶梯。 添加数据页面 from selenium import webdriver from selenium.webdriver.support.ui i...

2019-11-23 11:13:31

阅读数 79

评论数 0

原创 selenium使用

目录 1、使用示例: 2、定位元素: 3、操作表单元素: 4、Cookie操作: 5、页面等待: 6、切换页面: 7、设置代理ip: selenium教程:http://selenium-python.readthedocs.io/installation.html#introdu...

2019-11-23 11:06:25

阅读数 11

评论数 0

原创 Scrapy使用MySQL

供以后写代码参考: 一、同步执行 import pymysql class CollectDataPipeline(object): def open_spider(self, spider): print('open' * 20) ...

2019-11-16 18:00:49

阅读数 40

评论数 0

原创 Scrapy保存图片&自定义保存

一、爬取昵图网 第一步: 1、新建项目 scrapy startproject nituwang 2、新建爬虫 scrapy genspider nituwang_spider nipic.com 3、更改设置 …… 第二步: 1、爬虫启动文件 from scrapy...

2019-11-16 15:38:15

阅读数 57

评论数 0

原创 CSS选择器&xpath语法

一、xpath语法 表达式 说明 article 选取所有article元素的所有子节点 /article 选取根元素article...

2019-11-15 22:07:11

阅读数 3

评论数 0

转载 Scrapy 框架流程详解

框架流程图 Scrapy 使用了 Twisted 异步非阻塞网络库来处理网络通讯,整体架构大致如下(绿线是数据流向): 简单叙述一下每层图的含义吧: Spiders(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交...

2019-11-15 21:42:51

阅读数 13

评论数 0

原创 基于用户的协同过滤算法

最近在做一个古诗推荐功能,以前只会根据点击量,收藏量进行排序,给用户展示点击量、排行量前几的数据。 最近新发现一个算法——基于用户的协同过滤算法。 原理: 1、找到与目标用户兴趣相投的用户。 2、根据找到的用户集合中,相似用户喜欢的,而目标用户没有听说过的物品,进行推荐。 一、首先连接数...

2019-11-08 16:05:08

阅读数 8

评论数 0

原创 使用selenium爬取拉勾网

__author__ = '田明博' __date__ = '2019/10/20 8:39' from selenium import webdriver from selenium.webdriver.support.ui import WebDriv...

2019-10-20 20:06:27

阅读数 87

评论数 0

原创 selenium报错

selenium定位时报错: selenium.common.exceptions.ElementClickInterceptedException: Message: Element <span class="pager_next "> is not click...

2019-10-20 19:11:55

阅读数 47

评论数 0

原创 表情包爬虫

一、同步爬虫 import requests from lxml import etree from urllib import request import os import re import time def get_page_source(link): headers...

2019-10-12 20:25:18

阅读数 64

评论数 0

原创 爬取古诗词网(使用正则)

一、正则使用 正则表达式常用匹配规则: 匹配某个字符串: text = 'hello' ret = re.match('he',text) print(ret.group()) >> he 以上便可以在hello中,匹配出he。 点...

2019-10-11 14:25:20

阅读数 90

评论数 0

原创 爬虫之全国天气最低的十个城市

__author__ = '田明博' __date__ = '2019/10/9 21:23' ''' 获取所有城市的天气预报,按最低温度排名 ''' import requests import ...

2019-10-10 13:54:29

阅读数 335

评论数 2

原创 电影天堂爬虫

电影天堂会封IP,多次访问请使用代理池。 __author__ = '田明博' __date__ = '2019/10/8 21:17' import requests from lxml import etree headers = { &...

2019-10-09 11:57:31

阅读数 277

评论数 0

原创 热播电影推荐

练习xPath,爬取豆瓣正在放映电影,获取电影信息,按评分对电影排序。 import requests from lxml import etree import operator def get_text(): # 把源代码爬取下来 headers = { ...

2019-10-08 18:06:33

阅读数 83

评论数 0

原创 使用celery

main.py from tasks import send_mail if __name__ == '__main__': send_mail.delay() tasks.py # celery # pip install celery # 在window...

2019-09-29 18:14:52

阅读数 15

评论数 0

原创 上下文管理器和with块

上下文管理器 上下文管理器对象存在的目的是管理 with 语句, 就像迭代器的存在是为了管理 for 语句一样。with 语句的目的是简化 try/finally 模式。 这种模式用于保证一段代码运行完毕后执行某项操作, 即便那段代码由于异常、 return 语句或sys.exit() 调用而中...

2019-09-26 11:31:45

阅读数 7

评论数 0

原创 Flask项目中实现短信验证码和邮箱验证码

一、发送邮箱验证码 1、使用QQ邮箱发送验证码 ①配置 开启pop3/smtp服务 2、应用 ①前端页面 ②config.py # 邮箱配置 # MAIL_USE_TLS:端口号587 # MAIL_USE_SSL:端口号465 # QQ邮箱不支持非加密方式发送邮件 # 发...

2019-09-25 12:28:17

阅读数 216

评论数 0

原创 可迭代的对象、迭代器和生成器

目录 可迭代的对象、迭代器和生成器 一、Sentence类第一版:单词序列 ①实现一个Sentence,以此开始探索可迭代对象。第一版要实现序列协议。 ②测试Sentence是否可以迭代 ③Sentence实例可以迭代的原因: 二、可迭代的对象与迭代器的对比 ①可迭代的对象 ②标准...

2019-09-24 16:41:09

阅读数 89

评论数 0

原创 MySQL(九)SQL优化

目录 一、索引对DML语句效率的影响 1、实验准备 ①创建数据库 ②创建用于向表中插入数据的存储过程proc1() ③调用存储过程proc1,设置插入1000000条测试记录 ④查看表t中的记录数和前5条数据 2、explain语句 3、百万记录取一条 ①查询id=1500的记录...

2019-09-21 16:39:43

阅读数 139

评论数 0

原创 MySQL(八)存储引擎

一、存储引擎概述 存储引擎是MySQL中特有的术语,它主要是指在MySQL中,用户可以根据应用的需求,选择如何存储、更新、查询和索引数据,是否使用事务等。 在MySQL中,支持多种不同类型的存储引擎,从而满足用户使用各种方式存储数据的需求。 二、存储引擎类型 查看引擎类型: sho...

2019-09-20 12:07:15

阅读数 76

评论数 0

原创 MySQL(七)事务控制与锁

目录 一、事务概述 二、事务隔离级别 1、读未提交 2、读已提交 3、可重复读 4、可串行化 三、事务控制语句 四、InnoDB的锁 1、锁的粒度 2、锁的种类 一、事务概述 事务是一组SQL语句的集合,这个集合是一个不可分割的整体。对于事务而言,一旦某条语句执行失败或者发...

2019-09-19 21:16:13

阅读数 146

评论数 0

原创 MySQL(六)触发器

一、触发器概述 在MySQL数据库中,触发器是与表有关的对象,根据MySQL数据库中特定的命令事件作为条件来触发特定操作。当满足触发器的触发条件时,数据库将会自动执行触发器中定义的语句集合。 二、触发器类型 根据触发时间不同:可以将触发器分为before类型和after类型。 根据触发语...

2019-09-18 22:18:21

阅读数 75

评论数 0

原创 Python对象引用、可变性和垃圾回收

目录 一、Python中的变量是什么 二、==和is的区别 三、del语句和垃圾回收 四、函数的参数作为引用时 2、不要使用可变类型作为参数的默认值 一、Python中的变量是什么 Python和java中的变量本质不一样。java中的变量是一个盒子,声明时已经说明了盒子的类型,大小...

2019-09-17 18:27:13

阅读数 87

评论数 0

原创 深浅复制详解

浅复制: 复制列表,默认做的就是浅复制。如果所有元素都是不可变的,那么使用浅复制没有问题,还能节省内存。 问题如下:列表元素是可变的,复制时,默认做浅复制。list2中的列表和list1中的列表指向同一个列表,元组也是。 当对list1或2中的列表进行删除或追加的时候,操作的是同一个引用...

2019-09-12 11:20:16

阅读数 103

评论数 0

原创 MySQL(五)视图

目录 一、视图概述 二、视图的基本操作 1、创建视图 ①在单个表上创建视图 ②在多个表上创建视图 2、修改视图 3、查看视图 4、更新视图 5、删除视图 一、视图概述 视图是数据库中的一个虚拟存在的表,是通过人为操作将数据库汇中的一个或多个数据表拼凑在一起所得的,视图甚至还...

2019-09-11 22:24:19

阅读数 79

评论数 0

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