【python爬虫】正则表达式

一、数据的分类   1、结构化数据     特点:数据以行为单位,每一个数据表示一个实体。每一行数据的属性都是一样的。     举例:关系型数据库中的表就是结构化数据。     处理方法:sql   2、半结构化数据     特点:结构化数据的另一种形式。他并不符合关系型数据的特点,不能用关系型模型来描述。但是这种数据包含相关标记,有用        来分割语义元素以及字段进行分层的描述。        因此也被称为自描述结构。     举例:xml,html,json     处理方法:正则
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

simple模式下rabbitmq的代码

simple模式代码 package RabbitMQ import ( "fmt" "github.com/streadway/amqp" "log" ) const MQURL = "amqp://guest:[email protected]:5672/imooc" //创建rabbitmq结构体实例 type RabbitMQ struct { conn *amqp.Connection channel
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

es启动失败

Aug 09 21:43:23 10921114-elklogserver elasticsearch[30152]: 2018-08-09 21:43:23,068 main ERROR Null object returned for RollingFile in Appenders. Aug 09 21:43:23 10921114-elklogserver elasticsearch[30152]: 2018-08-09 21:43:23,068 main ERROR Null obj
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

Kafka学习笔记(三)——架构深入

之前搭建好了Kafka的学习环境,了解了具体的配置文件内容,并且测试了生产者、消费者的控制台使用方式,也学习了基本的API。那么下一步,应该学习一下具体的内部流程~ 1、Kafka的工作流程 大致的工作流程图如下: 如图所示哈,整个工作环境包括:一个生产者(producer),一个消费者组(含有三个消费者),一个主题:A,三个节点(broker),三个分区(partition)和两个副本(副本数=leader数+follower数)。 分析一下大致工作流程: Producer是消息的生产者,首
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

路由模式

routing,路由模式 一个消息被多个消费者获取,并且消息的目标队列可被生产者指定 package RabbitMQ import ( "fmt" "github.com/streadway/amqp" "log" ) const MQURL = "amqp://guest:[email protected]:5672/imooc" //创建rabbitmq结构体实例 type RabbitMQ struct { conn
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

web框架--tornado之验证码实例

tornado随机生成图片验证码 用python生成随机验证码需要借鉴一个插件,和一个io模块,实现起来也非常容易,当然也需要借鉴session来判断验证码是否错误,下面写一段用户登录验证带验证码的。 一、目录结构 二、login.html 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body>
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

Django+xadmin打造在线教育平台(十一)

十、首页模块 1、首页展示 (1)、视图函数 def index(request): all_banners = BannerInfo.objects.all().order_by('-add_time')[:5] banner_courses = CourseInfo.objects.filter(is_banner=True)[:3] all_courses = CourseInfo.objects.filter(is_banner=False)[:6] a
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

linux环境下zookeeper下载安装

步骤一:安装配置jdk环境 1、下载解压jdk-8u221-linux-x64.tar.gz 2、打开 配置文件,vim /etc/profile,添加如下配置,添加完成记得source /etc/profile 3、jdk安装成功后,可以查看版本信息:java -version 步骤二:开始安装配置zookeeper 1、远程下载zookeeper 有时候jdk版本和zookeeper版本不兼容,会导致zookeeper运行不成功,我的jdk是1.8 下载zookeeper链接如下:wget
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

学生学籍管理(完成版)

1 package mingye; 2 import java.awt.BorderLayout; 3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.event.ActionEvent; 6 import java.awt.event.ActionListener; 7 import java.awt.event.KeyEvent; 8 import java.awt.event.M
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

python基础-包和模块

Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包;一个Python文件就是一个模块,包是组织模块的特殊目录(包含__init__.py文件)。 模块搜索路径,Python解释器在特定的目录中搜索模块,运行时sys.path即搜索路径。 使用import关键字导入模块,注意 import *与__all__的关系。 1. 模块与导入 A module is a file containing Python d
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

Leetcode_36【有效的数独】

文章目录: 题目 脚本一 脚本一逻辑 脚本二 脚本二逻辑 shell解法分享 题目: 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 '.' 表示。 示例 1: 输入: [ ["5","3",".",".","7",".",".",".",".
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

.Net Core2.2升级到3.1小记

原文:.Net Core2.2升级到3.1小记 .NET Core 3.1 作为LTS长期支持版本,会提供3年的支持(明年就出.net5),值得升级(吗)。 目前主流的第三方包大多都已经提供了支持,2.x => 3.1还是变化不是特别多,EF Core坑就大咯,谨慎。 ASP.NET Core 3.1 的新增功能 https://docs.microsoft.com/zh-cn/aspnet/core/release-notes/aspnetcore-3.1?view=aspnetcore-3
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

快速排序 : 分割策略,基准数选取策略,调优,平均时间复杂度推导 , 实现细节

上一章我们讲到并归排序,并归排序的重要思想是对大问题进行分解,解决分解出来的小问题达到解决大问题的效果 但是归并排序明显存在的缺点是需要一个额外的数组空间来存储临时数据 为此,我们希望找到一种算法,平均时间复杂度为 N * logN,同时空间复杂度为常数级 之前我们探讨过并归排序的时间复杂度组成 , 对大小为 N 的数组进行均分,直至均分到 1 为止,总共分成 (log2)(N)次 对每次均分出来的结果进行线性操作使其有序,当 N 趋紧无穷时,总时间复杂度 = 线性 * 操作次数 = N *
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

net core 3.1 跨域 Cors 找不到 “Access-Control-Allow-Origin”

原文:net core 3.1 跨域 Cors 找不到 “Access-Control-Allow-Origin” 首先在ConfigureServices添加 public void ConfigureServices(IServiceCollection services) { services.AddCors(options => { options.AddPolicy("any",
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

订阅模式

Publish/Subscribe,订阅模式 消息被路由投递给多个队列,一个消息可以被多个消费者获取 订阅模式代码 package RabbitMQ import ( "fmt" "github.com/streadway/amqp" "log" ) const MQURL = "amqp://guest:[email protected]:5672/imooc" //创建rabbitmq结构体实例 type RabbitMQ struct {
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

【Flask】 python学习第一章 - 6.0 WTF表单 数据库

WTF表单 wtf.py from flask_wtf import FlaskForm from wtform import StringField, PasswordField, SubmmitField app.config["SECRET_KEY"] = "12345678" class register(flaskform):   username = StringField("用户名:", render_kw={"placeholder":"占位符"})   pass
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

JavaScript数组基础

由于最近工作之余,使用vue较多,对于数组的操作也逐渐增多,特此整理js的数组,以便日后翻阅学习。 Array   已经记不清其他语言中数组能够存放什么类型的数据,但是在js中数组的每一项都可以存放任何类型的数据,例如第一项存放字符串,第二项存放对象,依次类推。 数组的创建 使用Array构造函数创建:let arr = new Array() ;(括号内可以传参,传20代表创建长度为20的数组,传入一个字符串的时候则创建该字符串的数组。同时new可以省略) 使用字面量创建:let arr =
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

web权限验证方法说明[转载]

前言 本文将会从最基本的一种web权限验证说起,即HTTP Basic authentication,然后是基于cookies和tokens的权限验证,最后则是signatures和一次性密码。 HTTP Basic authentication 当客户端发起一个请求时,它可以使用HTTP Basic authentication来提供一个用户名和密码,来进行权限验证。 由于它不依赖于cookies,sessions等任何外部因素,所以它是最简单的权限验证方法。在使用它时,客户端需要在每次请求
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

堆排序其实没那么难

堆指的是每个节点的值大于等于或小于等于左右节点的值的完全二叉树结构,堆又分大顶堆(每个节点的值大于等于左右节点的值)和小顶堆(每个节点的值小于等于左右节点的值)。 使用堆进行排序的前提是要先构造一个堆出来,这里以大顶堆为例。 给定一个数组进行构造大顶堆。 构造大顶堆的主要思路: 1、n个数据; 2、从待处理的数据里取出一个数据,插入到堆的尾部,并调整成大顶堆; 2.1、如果调整的节点值比其父节点值大,那么两个节点交换值,重复该步骤,直到调整的节点是根节点; 2.2、否则插入节点后就是大顶堆,无
分类: 其他 发布时间: 12-19 23:17 阅读次数: 0

Nginx安装与运行

目录 Nginx安装与运行 安装Nginx 运行 注意事项 Nginx安装与运行 安装Nginx 在Nginx官网下载对应的nginx包(推荐使用稳定版[Stable version]) 上传nginx包到Linux系统 安装依赖环境 安装gcc环境 yum install gcc-c++ 安装PCRE库,用于解析正则表达式 yum install - y pcre pcre-devel 安装zlib压缩和解压缩依赖 yum install -y zlib zlib-devel 安装SSL安全
分类: 其他 发布时间: 12-19 23:01 阅读次数: 0