- 博客(59)
- 收藏
- 关注
原创 爬虫第一篇
爬虫1.环境:安装Anconda,是一个科学计算的集成开发环境(集成了好多库,ipython等)2.chrome浏览器插件:XPath Helper,Proxy-SwitchyOmega-Chromium-2.5.153.爬虫的请求模块:1、版本1、python2 :urllib、urllib22、python3 :urllib.request2.urllib.request 用法...
2019-12-02 19:41:04
340
原创 爬虫第二篇
爬虫第二篇1.将爬取的数据存入数据库1. Anaconda安装模块 1. 进入到Anaconda Prompt终端(管理员身份) 2. 执行安装命令 conda install pymongo conda install pymysql 2. 远程存入MySQL数据库 1. 开启远程连接, 注释掉: # bind-address=127.0....
2019-12-02 19:40:36
303
原创 爬虫第三篇
爬虫第三篇requests模块get请求import requests# 1.发get请求res = requests.get(url,params,headers,proxies,auth,verify,timeout)# 2.响应 编码格式res.encoding = "utf-8"# 3. 获取htmlhtml = res.textrequests.get(url,p...
2019-12-02 19:40:25
229
原创 爬虫第四篇
爬虫第四篇Ajax的动态加载处理方法对于json格式的相应,如果页面是ajax动态加载的,可用通过设置它的limit(每次页面加载的数量)巧妙的避开,也可以通过自动化工具selenium来处理ajax的动态加载import requestsimport jsonimport pymysqlclass DoubanSpider: def __init__(self): ...
2019-12-02 19:40:12
574
原创 爬虫第五篇
爬虫第五篇BeautifulSoup + requests库使爬虫变得非常的简单BeautifulSoup库通俗来说是解析、遍历、维护“标签树”(例如html、xml等格式的数据对象)的功能库Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整...
2019-12-02 19:39:59
217
原创 爬虫第六篇
爬虫第六篇python采用 多进程/多线程/协程 写爬虫从操作系统的角度:进程和线程,都是一种CPU的执行单元。进程:表示一个程序的上下文执行活动(打开、执行、保存…)线程:进程执行程序时候的最小调度单位(执行a,执行b…)一个程序至少有一个进程,一个进程至少有一个线程。并行:多个CPU核心,不同的程序就分配给不同的CPU来运行。可以让多个程序同时执行并发:单个CPU核心,在一个时...
2019-12-02 19:39:45
200
原创 爬虫第七篇(scrapy 框架简介)
文档地址:https://scrapy-chs.readthedocs.io/zh_CN/0.24/topics/signals.htmlscrapy 框架简介Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便Scrapy架构图[外...
2019-12-02 19:39:31
294
原创 checklist
Document 基础能力架构 规范能力 函数注释 1.注释有效性:应该说明函数的用途和使用场景,函数内部的注释应该强调业务逻辑和设计思路,让后期的维护人员可以快速的明白 功能注释规范 日志规范性 1.日志要考虑运维人员和技术支持能不能看懂 2.日志的有效性,比如先说明哪个action...
2019-12-02 19:39:13
458
原创 Flask中怎么用celery做定时任务
CeleryCelery 是一个异步任务队列,一个Celery有三个核心组件:Celery 客户端Celery workers: 运行后台作业的进程消息代理,最常用的代理就是 RabbitMQ 和 RedisFlask中怎么使用celery做定时任务config.py# coding: utf-8import osfrom datetime import timedelta...
2019-12-02 19:36:11
1304
2
原创 Dockerfile
Dockerfile1.什么是DockerfileDockerfile 是一个文本文件,里面包含了打包Docker镜像所需要用到的命令。Docker 可以通过读取 Dockerfile 里面的命令来自动化地构建Docker镜像。通过执行 docker build 就可以启动这样的一个自动化流程。docker bulid -f Dockerfile .2.容器镜像层的理解Docker镜像...
2019-11-19 17:09:21
178
原创 运维常识
运维概述什么是运维服务器的运行维护名词IDC(互联网数据中心)服务器租用 机柜租用监控软件zabbix nagios cactti常用Linux操作系统CentOSUbuntuRedHat虚拟化nginx反向代理流程客户端 -> 反向代理服务器 -> 把请求转发给内部网络的WEB服务器作用保证内网安全统一调度服务器,是服务器负载均衡,优化网站的...
2019-09-10 17:35:14
226
原创 Mock和MagicMock
Mock和MagicMock转载:https://blog.csdn.net/lk142500/article/details/85881426在单元测试进行的同时,就离不开mock模块的存在,初次接触这个概念的时候会有这样的疑问:把要测的东西都模拟掉了还测试什么呢? 但在,实际生产中的项目是非常复杂的,对其进行单元测试的时候,会遇到以下问题:•接口的依赖•外部接口调用•测试环境非常...
2019-08-09 16:58:48
976
原创 vim常用操作和使用技巧12
vim常用操作和使用技巧移动光标在 vi 中, 移动光标和编辑是两件事, 正因为区分开来, 所以可以很方便的进行光标定位和编辑. 因此能更快一点移动光标是很有用的. w 移动光标到下一个单词开头. e 移动光标到下一个单词结尾 b 移动光标到上一个单词. 0 移动...
2019-08-08 20:12:54
243
原创 好用的工具推荐
1.typora markdown文本编辑2.xmind 思维导图3.endrawmax 画流程图的4.Everything 文本搜索工具5.Beyond Compare5.Postman 发送请求6.Git7.Source Tree8.VSCode9.Sublime10.Pycharm11.Xshell12.MobaXterm13.Xftp14.WinSC...
2019-08-08 16:37:42
210
原创 AJAX
AJAXAJAX:通过 JS 异步的向服务器发送请求并接受响应数据,响应数据的格式原来是xml,后来变成了JSON同步请求:当客户端向服务器发送请求时,服务器在处理的过程中,浏览器只能等待,效率较低异步请求:当客户端向服务器发送请求时,服务器在处理的过程中,浏览器可以做其他的操作,不需要一直等待AJAX的优点:异步访问局部刷新AJAX的使用场景:搜索建议表单验证前后端...
2019-06-16 20:40:17
150
原创 IO 多路复用
IO 多路复用IO密集型程序 : 在程序执行过程中存在大量IO操作,而cpu运算操作较少。消耗cpu较少,运行效率较低计算密集型程序(cpu密集型程序):在程序执行中cpu运算较多,IO操作相对较少。消耗cpu大,运行速度快IO分类:阻塞IO非阻塞IOIO多路复用阻塞IO:是IO的默认形态,是效率较低的一种IO情形。阻塞情况:因为某种条件没有达成造成的阻塞e.g. a...
2019-05-25 11:27:27
244
原创 网络编程1
网络编程ISO七层模型 ——》网络通信工作流程的标准化应用层 : 提供用户服务,具体功能由特定的程序而定表示层 : 数据的压缩优化,加密会话层 : 建立应用级的连接,选择传输服务传输层 : 提供不同的传输服务。流量控制网络层 : 路由选择,网络互连链路层 : 进行数据转换,具体消息的发送,链路连接物理层 : 物理硬件,接口设定,网卡路由交换机等cookie高内聚:模块功能尽可能...
2019-05-25 10:38:16
137
原创 Django框架全面讲解二
Django框架全面讲解二七、中间件(MiddleWare)django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件,如下图中间件中可以定义五个方法...
2019-05-24 19:54:33
304
原创 Scrapy爬虫框架
Scrapy爬虫框架一、Scrapy五大基本构成:Scrapy框架主要由五大组件组成,它们分别是调度器(Scheduler)、下载器(Downloader)、爬虫(Spider)和实体管道(Item Pipeline)、Scrapy引擎(Scrapy Engine)。下面我们分别介绍各个组件的作用。(1)、调度器(Scheduler):调度器,说白了把它假设成为一个URL(抓取网页的网址或...
2019-05-23 21:31:40
223
原创 Django框架全面讲解
转:https://www.cnblogs.com/LiCheng-/p/6920900.htmlDjango框架全面讲解Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。本文将以下方面带大家全面了解Django框架流程基本配置路由系统...
2019-05-23 21:30:20
504
原创 分布式数据库集群
分布式数据库集群Mysql cluster是适用于分布式计算环境的高可用、高冗余版本的mysql,其技术在分布式系统中为mysql数据提供了冗余特性,增强了安全性,使得单个mysql服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障。Mysql cluster采用shared-nothing(无共享)架构,主要利用了NDB存储引擎来实现,NDB存储引擎是一个内存式存储引擎,要求数据必须...
2019-05-23 19:16:04
1086
原创 各种网络测试小工具的用法3
各种网络测试小工具的用法3dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常语法dig [选项] 参数选项@<服务器地址>:指定进行域名解析的域名服务器;-b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求;-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的...
2019-05-22 19:56:29
436
原创 正则表达式
正则表达式产生的原因:文本处理已经成为计算机的常见工作之一对文本内容的搜索,定位,提取是逻辑比较复杂的工作为了快速解决上述问题,产生了正则表达式技术定义: 即文本的高级匹配模式,提供搜索,替代等功能。其本质是一系列由特殊符号组成的字串,这个字串即正则表达式。匹配原理 : 由普通字符和特殊符号组成字符串,通过描述字符的重复和位置等行为,达到匹配某一类字符串的目的元字符的使用...
2019-05-22 18:03:20
288
原创 MySQL集群高可用架构
MySQL集群高可用架构前言高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用。对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库,搜索,消息队列等,每个模块都需要做到高可用,才能保证整个系统的高可用。对于数据库服务而言,高可用可能更加复杂,对用户的服务可用,不仅仅是能访问,还要保证数据的正确性,因此数据库的高可用方案一直以来是讨论的热点1.MySQ...
2019-05-21 11:18:52
2208
原创 装饰器 && 单例模式
装饰器装饰器只不过是一种函数,接收被装饰的可调用对象作为它的唯一参数,然后返回一个可调用对象第一个例子:函数注册registry = []# 被装饰的对象,是一个可调用对象def register(decorated): registry.append(decorated) return decorated注册器方法是一个简单的装饰器,会把被装饰函数添加到regist...
2019-05-20 21:17:45
177
原创 Python多进程
Python多进程方面涉及到的模块主要包括:subprocess: 可以在当前程序中执行其他程序或命令mmap:提供一种基于内存的进程间通信机制multiprocessing:提供支持多处理器技术的多进程编程接口,并且接口的设计最大程度的保持了和threading模块的一致,并与理解和使用本文主要介绍 subprocess 模块及其提供的 Popen 类,以及如何使用该构造器在一个进程...
2019-05-20 11:17:50
571
1
原创 vi/vim的常用操作
gg 移动到文档的第一行G 移动到文档的最后一行nG 移动到文档的第n行n 光标向下移动n行ctrl + f 屏幕向下移动一页ctrl + b 屏幕向上移动一页搜索替换/word 光标向下搜索一个名称为word的字符串?word 光标向上搜索一个名称为word的字符串n 一般配合/word 一起连用,表示继续向下搜索一个名称为word的字符串N 一般配合?wo...
2019-05-16 10:05:53
121
原创 python Web框架之Flask
python Web框架我们讨论一下Flask和DjangoFlask框架一个轻量级的框架,是一个依赖Jinjia2模板引擎和WSGI的微型框架安装Flasksudo pip3 install flask框架模型,分为两种MTVM:Models,模型层。主要通过ORM建立数据库T:Templates,模板层。主要处理前端页面的显示,如:htmlV:Views,视图...
2019-05-11 18:40:15
622
原创 WSGI服务器
WSGIWeb Server Gateway Interface 的缩写,即 Web 服务器网关接口。Python web开发中,服务端程序分为两个部分服务器程序(用来接收、整理客户端发送的请求)应用程序(处理服务器程序传递过来的请求)其实我们使用的Flask,Django,Tornado等框架其实相当于开发服务端的应用程序,处理后台逻辑但是,服务器程序和应用程序互相配合才...
2019-05-10 20:11:45
1716
原创 ORM 框架
ORM 框架SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。SQLAlchemy本身无法操作数据库,其必须依赖pymsql等第三方插件,Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作,...
2019-05-10 17:22:23
156
原创 Shell脚本
Shell脚本shell变量:定义变量,变量名不加美元符号($)your_name="runoob.com"使用变量使用一个定义过的变量,只要在变量名前面加上美元符号$your_name="qinjx"echo $your_nameecho ${your_name}花括号可加可不加,加花括号便于解释器识别变量的边界删除变量使用unset命令可以删除变量unset vari...
2019-05-09 20:35:57
224
转载 Docker深入理解
Docker深入理解转:https://www.cnblogs.com/bethal/p/5942369.html来深入理解一下容器和镜像的区别镜像:镜像就是一堆只读层,它们重叠在一起,上面一层会有一个指针指向下一层容器:就是在镜像top层加了一个可读可写的层docker create docker create 命令为指定的镜像(image)添加了一个可读写层,构成了一个新的容器...
2019-05-09 17:54:24
222
原创 Docker 基本命令
Docker 基本命令docker run : 创建一个新的容器并运行一个命令语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]OPTIONS说明:-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;-d: 后台运行容器,并返回容器ID;-i: 以交互模式运行容器,通常与 -t 同时使用;...
2019-05-09 16:06:36
259
转载 Docker学习笔记
Docker学习笔记Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker的应用场景we...
2019-05-09 12:07:37
119
原创 各种网络测试小工具的用法2
tcpdump:tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ][ -s snaplen ] [ -w file ] [ expression ]抓包选项:-c:指定要抓取的包数量-i interface:指定tcpdump需要监听的接口。若未指定该选项,将从系统接口列表中搜寻编号最小的...
2019-04-30 12:49:29
340
原创 各种网络测试小工具的用法
nohup 用法:nohup Command [Arg…] [&]操作系统有三种常见的流:0:标准输入流 stdin1:标准输出流 stdout2:标准错误流 stderr一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法nohup ....
2019-04-30 12:45:36
1117
原创 数据分析07
数据分析07矩阵的特征值与特征向量对于n阶方阵A,如果存在数a和非零n维列向量x, 使得Ax=ax, 则称a是矩阵A的一个特征值, x是矩阵A属于特征值a的特征向量.# 已知n阶方阵A, 求特征值与特征向量# eigvals: 找到的所有特征值数组# eigvecs: 找到的与特征值对应的特征向量数组eigvals, eigvecs = np.linalg.eig(A)# 已知特征值...
2019-04-06 14:23:43
247
原创 数据分析06
数据分析06数据平滑处理在做数据分析时, 由于数据的噪声太多, 需要对数据进行数据平滑处理. 通常包含有降噪/拟合等操作. 降噪的功能在于去除额外的影响因素. 拟合的目的在于数学模型化,可以通过更多的数学方法识别曲线特征.降噪手段: 卷积运算# 通常卷积核的选取APIcon_core = np.hanning(8)con_core /= con_core.sum()# 卷积APIn...
2019-04-06 14:22:39
159
原创 数据分析05
数据分析05布林带布林带由3条线组成:中轨线: 5日加权移动平均线上轨线: 中轨 + 2*5日标准差 (这支股票顶部的压力)下轨线: 中轨 - 2*5日标准差 (这支股票底部的支撑力)布林带收窄代表趋于稳定, 如果布林带张开代表有较大的波动空间.sma53 = np.convolve( closing_prices, core, 'valid')mp.plot(dates[...
2019-04-06 14:22:08
243
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人