- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 一文搞定Linux常见用法
介绍在开发/部署过程中,我们经常要和Linux打交道,本文比较完整的整理了工作中的常用事项,包括常见命令、各种配置、中间件安装和shell脚本等内容,有助于我们系统的梳理Linux相关知识。如果从开发人员角度来说,能搞定了下面的内容,Linux方面就基本木有什么问题了。目录介绍一、目录结构二、路径说明三、常见命令四、时区设置五、启动网络六、文件上传与下载七、压缩与解压缩八、开发工具/中间件安装1、安装JDK2、安装Tomcat3、安装Mysql九、Shell脚本语法与应用1、简介2、声明方式3、执行方式
2020-06-03 08:18:10 4449 3
原创 MongoDB基础知识
MongoDB 是一个基于分布式文档存储的数据库。由 C++语言编写。旨在为 WEB 应用 提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功 能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因 此可以存储比较复杂的数据类型。
2020-06-29 23:10:17 204
原创 爬取小说入库Mysql和Mongo
目录一、入库Mysql1.1、安装pymysql插件1.2、创建MysqlPipeline类1.3、配置文件修改1.4、效果查看二、入库Mongo2.1、安装pymongo插件2.2、创建MongoPipeline类2.3、配置文件修改2.4、效果查看本文以scrapy爬虫爬取完整小说为基础一、入库Mysql1.1、安装pymysql插件执行命令:pip3 install pymysql1.2、创建MysqlPipeline类在pipelines.py文件中新增MysqlPipeline类,将小
2020-06-28 22:25:47 359
原创 numpy计算模块常见用法
NumPy是Python的一个数学计算函数库,底层是C实现,执行效率高。它的其核心对象是ndarray N维数组,可以支持大量的维度数组与矩阵运算。
2020-06-26 17:24:03 135
原创 scrapy架构与爬虫搭建
Scrapy是Python开发的一个爬虫框架,可以用于数据挖掘、监测和自动化测试、信息处理等领域,它使用Twisted个异步网络库来处理网络通讯,架构清晰,包含了各种中间件接口,可以灵活的完成各种需求。
2020-06-21 22:28:08 140
原创 自定义爬虫程序结构
在不借助爬虫框架的情况下,自定义爬虫程序的代码结构,整体可以分为请求发送器、数据解析器、数据保存器、URL管理器、任务调度器和执行入口几部分。
2020-06-21 16:14:16 233
原创 爬虫与selenium自动化工具结合使用
Selenium是一个Web自动化测试工具,它可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,也可以截屏,或者判断网站上的事件。所以它很适合帮助我们构建网络爬虫了,而这个爬虫不仅能处理 JavaScrip、Cookie、headers信息,并且还能帮我们模拟真实用户的操作流程。
2020-06-21 10:58:09 743
原创 爬虫数据提取 -jsonpath
对于爬虫数据采集而言,除了直接解析html,还经常解析json格式数据,而JsonPath 是一种信息抽取类库,可以从json文档中抽取指定信息,JsonPath对于json来说就相当于xpath 对于xml。
2020-06-20 15:52:14 534
原创 爬虫数据提取 - xpath
XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上,我们也经常使用它来提取网页中的数据。
2020-06-20 14:26:53 590
原创 爬虫数据提取 - Beautiful Soup4
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库,它能够实现对文档的导航、查找、修改,通过解析文档帮助我们提取所需的数据。
2020-06-20 11:31:44 262
原创 动态UserAgent设置
目录1、安装fake-useragent插件2、使用之前User-Agent的值我们都是手动设置的,其实python中已经封装好了这样的库fake-useragent,它可以帮我们动态随机生成一个User-Agent值,模拟浏览器请求头信息。1、安装fake-useragent插件使用命令pip3 install fake-useragent进行安装D:\3.dev\pyworkspace\scraw\test01>pip3 install fake-useragent省略....Succ
2020-06-18 22:26:03 910 1
原创 爬虫get请求与post请求处理
目录1、Get请求2、Post请求1、Get请求get请求就是在url后面以拼接方式传参,但是如果参数是中文时需要转码处理,否则会报错。比如我们访问豆瓣的官网,然后在搜索框中输入“电影”关键字,可以看到浏览器中的请求为https://www.douban.com/search?q=电影如果我们直接模拟上面的url请求,则会报如下错误UnicodeEncodeError: 'ascii' codec can't encode characters in position 14-15: ordinal
2020-06-18 08:02:30 837
原创 Python简单爬虫实现
目录1、使用urlopen实现2、模拟浏览器的User-Agent信息3、使用随机代理信息1、使用urlopen实现我这里使用的Python 3.6.7版本,下面是通过urlopen()方式发起http请求,抓取站点的网页内容,这种方式的缺点是请求头中User-Agent的值是python的信息,这样对于爬虫来讲是不合格的,因为一般网站都能识别且会屏蔽此类请求,所以我们通常会使用浏览器的User-Agent信息。from urllib.request import urlopen# 1.爬取站点访
2020-06-17 22:52:51 678
原创 redis持久化的两种方式(RDB与AOF)
目录一、RDB持久化方式(默认开启)1.1、手动执行命令生成1.2、配置方式自动生成二 、AOF持久化方式(默认关闭)2.1 、开启AOF持久化2.2、效果查看2.3、三种文件刷新方式2.4、数据恢复过程一、RDB持久化方式(默认开启)RDB方式其实就是对内存中数据库状态进行快照,将数据库状态保存到磁盘中做持久化处理,生成一个压缩二进制dump.rdb文件。这样,关闭redis时内存中的数据不会消失,当再次重启redis时,会自动读取dump.rdb文件,还原RDB文件中的数据库状态。1.1、手动执行
2020-06-17 00:36:07 222
原创 如何从0到1实现Nginx高可用集群
Nginx 是我们常用的高性能 Web 和反向代理服务,它有很多优越的特性,下面我们详细的讲解如何从0到1实现Nginx高可用集群,包括配置详解、环境搭建、虚拟主机搭建、反向代理与负载均衡配置、代理文件服务器和高可用集群搭建等内容。
2020-06-15 07:15:27 587 2
原创 Nginx访问文件服务器
目录1、简介2、模拟NAS服务3、nginx.conf配置4、域名本地解析5、效果查看1、简介对于网站而言,文件服务器是一个绕不开的话题,因为我们上传的资源通常都放在文件服务器中管理,比较常见的有NAS服务器、FTP服务器等。而Nginx则常用来代理访问文件服务器中的资源,比如网站上面的banner图片、免责条款文件等,下面我就来实现这个需求。2、模拟NAS服务真实NAS服务是一个独立服务器,然后通过挂载方式,绑定到应用服务器的某个目录下,使用时就像是应用服务器自己本身的文件目录一样,我们没有自己搭
2020-06-13 10:09:32 1613
原创 Nignx反向代理与负载均衡
目录1、反向代理与正向代理理解2、反向代理配置3、负载均衡配置1、反向代理与正向代理理解2、反向代理配置反向代理需要注意两个关键配置,upstream和proxy_pass,upstream 用来指定需要真实访问的地址,my_server是自定义命名。proxy_pass 配置为 http://my_server,意思会把客户访问www.mytest123.com的请求,转给upstream my_server{}。简单理解,其实就是nginx中的该server代理了地址为192.168.66.77:
2020-06-12 08:06:03 200
原创 Nginx搭建虚拟主机
目录1、什么是虚拟主机2、二级目录3、三级目录1、什么是虚拟主机官话是:虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主 机,每个虚拟主机可以独立对外提供 www 服务,这样就可以实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的。人话是:我们可以在nginx是配置多个域名,每个域名指向一个系统,而这些系统公用一套物理机,从而提高资源利用率。下面我们画一张简单虚拟主机示意图,在一台机上部署3个系统,然后再nginx上面配置3个域名对应这三个系统,那
2020-06-11 23:19:12 298
原创 Nginx环境搭建
目录1、上传安装包到linux服务器2、安装依赖环境2.1、安装gcc2.2、安装PCRE2.3、安装zlib2.4、安装openssl3、编译安装3.1、解压3.2、配置./configure3.3、编译1、上传安装包到linux服务器使用xftp工具或者rz命令,将安装包上传的用户下的temp临时目录[root@localhost temp]# rz[root@localhost temp]# ll-rw-r--r--. 1 root root 832104 1月 17 06:50
2020-06-11 07:04:39 381
原创 Springboot技术要点捡漏
介绍本文将对Springboot框架开发过程中常用的技术要点进行汇总,包括过滤器与监听器引入、集成Thymeleaf模板、整合Hibernate-validate校验框架、集成Spring Data Redis缓存、集成Quartz定时任务框架、全局异常管理和集成Mybatis框架等方面。目录介绍一、项目初始化1、下载项目2、编写测试方法二、过滤器与监听器1、过滤器Filter2、监听器Listenser三、访问静态资源四、集成Thymeleaf4.1、集成步骤4.2、Thymeleaf常用语法五、集成
2020-06-09 22:37:29 613
原创 一文搞定ZooKeeper常见用法
介绍本文比较系统的梳理了ZooKeeper的常用知识点,包括文件系统、监听通知机制、单机环境搭建、集群环境搭建、常用操作命令、Java API调用和作为注册中心服务等内容,读完本文,相信能有助于我们对ZooKeeper的概念和用法有一个整体的认识。目录介绍一、文件系统与监听通知机制1、文件系统2、监听通知机制二、单机环境搭建1、安装JDK2、安装ZooKeeper3、客户端连接ZooKeeper三、集群环境搭建1、角色概念2、集群搭建3、服务启停4、客户端连接四、常用操作命令1、ls命令2、create
2020-06-08 06:48:41 949
原创 ZooKeeper实现注册中心服务
目录1、示例说明2、创建服务端3、创建客户端4、调用验证1、示例说明在本例中,我们将使用 ZooKeeper 作为注册中心,实现客户端与服务端之间的RPC调用。2、创建服务端创建一个zkserver的maven项目作为服务端,它将提供一个getFromZkserver()查询接口,并且将接口发布到zk注册中心。ITestService接口package service;import java.rmi.Remote;import java.rmi.RemoteException;/**
2020-06-08 00:10:45 676
原创 Java实现ZooKeeper节点增删改查
目录1、引入pom依赖2、创建节点3、查询节点3.1、查询指定节点数据3.2、查询某个节点下所有子节点数据4、修改节点5、删除节点6、完整代码1、引入pom依赖这里要注意引入的版本,因为我安装的3.6.0的zk,所有引入的也是这个版本的依赖 <!-- 引入zookeeper --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeepe
2020-06-07 20:22:47 632
原创 ZooKeeper常用命令
目录1、ls命令2、create命令3、get命令4、set命令5、delete命令1、ls命令ls命令查看节点,格式:ls /path查看根节点[zk: 192.168.xx.xxx:2181(CONNECTED) 0] ls /[zookeeper]path不能少,否则无法执行(这点与linux不一样)[zk: 192.168.xx.xxx:2181(CONNECTED) 1] lsls [-s] [-w] [-R] path2、create命令create命令创建节点,格式:c
2020-06-07 16:24:10 319 1
原创 ZooKeeper环境搭建(单机版与集群版)
目录1、单机版1.1、安装JDK1.2、安装ZooKeeper1.3、客户端连接ZooKeeper2、集群版2.1、角色概念2.2、集群搭建2.3、启动服务2.4、客户端连接1、单机版我们这里都是在Linux系统中搭建环境1.1、安装JDKJDK安装请参考一文搞定Linux常见用法中第八部分1.2、安装ZooKeeper1.1、上传安装包使用rz命令,将从zk官网下载的压缩包上传至temp目录(这里使用的3.6版本)[root@localhost temp]# rz[root@local
2020-06-07 13:58:03 600
原创 ZooKeeper文件系统与监听通知机制
介绍ZooKeeper是阿帕奇官网的一个分布式服务框架,用来解决分布式应用中经常出现的一些数据管理问题,比如统一命名服务、状态同步服务、集群管理和分布式应用配置管理等。总的来说,ZK=文件系统 + 监听通知机制目录介绍1、文件系统2、监听通知机制1、文件系统ZooKeeper底层是一套树形存储结构,类似于Unix文件系统路径,也是从根节点开始,这些节点都称之为znode,可以用来保存数据(默认存储大小为1MB)。 而这些znode节点也分为四种类型节点类型节点描述PERSIST
2020-06-07 09:26:32 773
原创 vue自定义指令、JSX语法和过滤器
目录1、自定义指令1.1、全局指令1.2、局部指令2、JSX语法3、过滤器3.1、全局过滤器3.2、局部过滤器1、自定义指令1.1、全局指令在main.js中使用directive()函数自定义一个v-focus全局指令(实际开发过程中,我们可以创建一个js文件专门管理自定义全局指令,然后在main.js中引入该文件即可)import Vue from 'vue'import App from './App'//自定义全局指令 v-focusVue.directive('focus',{
2020-06-05 22:57:07 3239
原创 vue css过渡动画与 Animate动画库
目录1、css过渡动画使用2、 Animate动画库使用1、css过渡动画使用在vue中使用css过渡动画,一方面需要transition元素,另一方面还要用到6个过渡类名,它们分别为v-enter、v-enter-active、v-enter-to、v-leave、v-leave-active和v-leave-to,enter表示动画从0开始淡入,直到1完全显示,leave表示从1开始淡出,直到变成0完全消失。下面是官网的效果图新建一个MyAnimate.vue组件,并定义一个渐变动画效果,给tr
2020-06-05 08:26:19 413
原创 vue处理边界情况
目录1、访问根实例2、二级目录3、三级目录1、访问根实例项目中的根实例在main.js中,初始代码如下// The Vue build version to load with the `import` command// (runtime-only or standalone) has been set in webpack.base.conf with an alias.import Vue from 'vue'import App from './App'Vue.config.prod
2020-06-04 23:01:49 436
原创 vue动态组件与异步组件
目录1、动态组件1.1、组件切换1.2、keep alive缓存2、异步组件1、动态组件1.1、组件切换分别创建3个组件AComponent.vue、BComponent.vue、CComponent.vue,并且在A中引用B和C代码分别如下:AComponent.vue,这里是通过component 标签中的is属性来控制不同组件内容的显示<template> <div> 动态组件: <button @click="showB">显示B
2020-06-04 07:25:59 937
原创 Shell脚本语法与应用(四)
目录1、算数表达式2、数值表达式3、分支与循环2.1、if判断2.2、for循环2.3、while循环2.4、case1、算数表达式常见有4种表达式写法:分别为let C=$A+$B、C=`expr $A + $B`、C=$[$A+$B]与C=$((A+B)),我们使用第一种let表达式举例说明。新建一个test04.txt文本,里面写入3行数据[root@localhost shell]# cat test04.txtaaaaaaabbbbbbcccccc再新建一个test04.sh脚本
2020-06-02 23:46:41 854
zkdemo.zip
2020-06-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人