自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rnan_prince的博客

知是行之始,行是知之成([email protected]

  • 博客(34)
  • 收藏
  • 关注

原创 学做网络爬虫【五】- Scrapy(框架)

Scrapy 框架Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用了 Twisted['twɪstɪd](其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。

2020-06-30 21:18:35 586

原创 学做网络爬虫【三】- 数据提取

页面解析和数据提取一般来讲对我们而言,需要抓取的是某个网站或者某个应用的内容,提取有用的价值。内容一般分为两部分,非结构化的数据 和 结构化的数据。

2020-06-30 00:40:51 418

原创 学做网络爬虫【二】- 数据抓取(Requests)

Requests: 让 HTTP 服务人类虽然Python的标准库中 urllib 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 "HTTP for Humans",说明使用更简洁方便。Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用:)Requests 继承了urllib的所有特性。Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容

2020-06-29 00:52:53 495

原创 学做网络爬虫【一】- 爬虫原理

为什么要做网络爬虫?首先请问:都说现在是"大数据时代",那数据从何而来? 企业产生的用户数据:百度指数、阿里指数、TBI腾讯浏览指数、新浪微博指数 数据平台购买数据:数据堂、国云数据市场、贵阳大数据交易所 政府/机构公开的数据:中华人民共和国国家统计局数据、世界银行公开数据、联合国数据、纳斯达克。 数据管理咨询公司:麦肯锡、埃森哲、艾瑞咨询 爬取网络数据:如果需要的数据市场上没有,或者不愿意购买,那么可以选择招/做一名爬虫工程师,自己动手丰衣足食。拉勾网Py

2020-06-29 00:34:45 522

原创 HTTP和HTTPS请求与响应

HTTP和HTTPSHTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。HTTP的端口号为8

2020-06-29 00:25:17 712

原创 HTTP响应状态码

1xx:信息100 Continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。101 Switching Protocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。2xx:成功200 OK请求成功(其后是对GET和POST请求的应答文档)201 Created请求被创建完成,同时新的资源被创建。202 Accepted供处理的请求已被接受,但是处理未完成。203 Non-authoritative Inform.

2020-06-29 00:09:44 431

原创 html中文件类型的accept属性

*.3gpp audio/3gpp, video/3gpp 3GPP Audio/Video *.ac3 audio/ac3 AC3 Audio *.asf allpication/vnd.ms-asf Advanced Streaming Format *.au audio/basic AU Audio *.css text/css Cascading Style Sheets *.csv text/csv Com

2020-06-29 00:03:36 540

原创 python 配置虚拟环境,多版本管理

在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.x。所有第三方的包都会被pip安装到Python3的site-packages目录下。如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要python2.7,而应用B需要python 3怎么办?这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。一、virtu.

2020-06-27 14:39:44 928

原创 如何查看python和安装包的版本

命令行下查看python和numpy的版本和安装位置:1、查看python版本C:\Users\Rnanprince>python -VPython 3.7.3C:\Users\Rnanprince>python --versionPython 3.7.3注意:‘--version'中有两个‘-’2、查看python安装位置方法一: C:\Users\Rnanprince>python -c "import sys; print(sys.executabl

2020-06-27 10:35:36 4664 2

原创 python基础 - pip 安装与升级

pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。pip 官网:https://pypi.org/project/pip/通过以下命令来判断是否已安装:C:\Users\Rnanprince>pip -Vpip 19.1.1 from D:\Program Files\Anaconda3\lib\site-packages\pip (python 3

2020-06-27 10:10:51 5899

原创 python基础 - Scikit-learn

Scikit-learn 是开源的 Python 库,通过统一的界面实现机器学习、预处理、交叉验证及可视化算法。一、加载数据二、训练集与测试集数据三、数据预处理1、标准化2、归一化3、二值化4、编码分类特征5、输入缺失值6、生成多项式特征四、创建模1、有监督学习评估器(1)线性回归(2)支持向量机(SVM)(3)朴素贝叶斯(4)KNN2、无监督学习评估器(1)主成分分析(PCA)(2)K Means五、模型拟合1、有监督学习

2020-06-26 15:35:56 211

原创 PySpark - Spark SQL基础

Spark SQL 是 Apache Spark 处理结构化数据的模块。一、初始化 SparkSessionSparkSession 用于创建数据框,将数据框注册为表,执行 SQL 查询,缓存表及读取 Parquet 文件。from pyspark.sql import SparkSessionspark = SparkSession \ .builder \ .appName("Python Spark SQL basic example") \ .config(

2020-06-26 00:22:31 528

原创 python基础 - Pandas

Pandas 是基于 Numpy 创建的 Python 库,为 Python 提供了易于使用的数据结构和数据分析工具。使用以下语句导入 Pandas 库:import pandas as pd1、Pandas 数据结构(1)Series - 序列存储任意类型数据的一维数组:s = pd.Series([3, -5, 7, 4], index=['a', 'b', 'c', 'd'])index value a 3 b -5 c 7 d

2020-06-25 22:10:07 276

原创 python基础 - Numpy

Numpy 是 Python 数据科学计算的核心库,提供了高性能的多维数组对象及处理数组的工具。使用以下语句导入 Numpy 库:import numpy as np1、创建数组a = np.array([1, 2, 3])b = np.array([(1.5, 2, 3), (4, 5, 6)], dtype=float)c = np.array([[(1.5, 2, 3), (4, 5, 6)], [(3, 2, 1), (4, 5, 6)]], dtype=float)np

2020-06-25 21:40:56 348

原创 PySpark - RDD基础

PySpark 是 Spark 的 Python API,允许 Python 调用Spark 编程模型。1、初始化 Sparkfrom pyspark import SparkContextsc = SparkContext(master='local[2]')2、核查 SparkContextsc.version # 获取 SparkContext 版本sc.pythonVer # 获取 Python 版本sc.ma

2020-06-21 17:34:10 541 1

原创 python基础 - 导入数据(Numpy and Pandas)

大多数情况下,都是用 Numpy 或 Pandas 导入数据。一、文本文件1、纯文本文件filename = 'test.txt'file = open(filename, mode='r') # 以只读方式读取文件text = file.read() # 读取文件内容print(file.closed) # 查看文件是否已经关闭file.close() # 关闭文件print(text

2020-06-21 11:50:04 14028 1

原创 python基础 - namedtuple和enum

Python附带⼀个模块,它包含许多容器数据类型,名字叫作collections。我们将讨论的是:namedtuple enum.Enum (包含在Python 3.4以上)另外还有defaultdict、counter、deque很常用不在赘述。1、namedtuple⼀个元组是⼀个不可变的列表,你可以存储⼀个数据的序列,它和命名元组(namedtuples)⾮常像,但有⼏个关键的不同。主要相似点是都不像列表,你不能修改元组中的数据。为了获取元组中的数据,你需要使⽤整数作为索引:

2020-06-20 00:51:54 363

原创 python基础 - itertools工具

Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。(1)itertools.count()会创建一个无限自然数序列的迭代器,根本停不下来。itertools.count(1) # 1,2,3,...(2)cycle()会把传入的一个序列无限重复下去itertools.cycle('ABC') # A,B,C,A,B,C,...(3)chain()可以把一组迭代对象串联起来,形成一个更大的迭代器itertools.chain('ABC', 'XYZ

2020-06-20 00:37:16 410

原创 Python基础 - Numpy库中的np.sum(array,axis=0,1,2...)

首先看一下什么叫做维度,一个矩阵的维度大家都知道是二维。包含行和列。以下是三维的:c = np.array([[[0, 1, 2, 3], [4, 5, 6, 7]], [[1, 2, 3, 4], [5, 6, 7, 8]]])查看维度:c.ndim = 3,更简单的,小括号旁有几个中括号 [ 就是几维。print(c.ndim) # 3print(c.shape) # (2, ...

2020-06-20 00:30:47 1505

原创 python基础 - Map,Filter 和 Reduce

Map,Filter 和 Reduce 三个函数能为函数式编程提供便利。我们会通过实例⼀个⼀个讨论并理解它们。1、lambda表达式lambda表达式是⼀⾏函数。它们在其他语⾔中也被称为匿名函数。如果你不想在程序中对⼀个函数使⽤两次,你也许会想⽤lambda表达式,它们和普通的函数完全⼀样。原型:lambda 参数:操作(参数)例⼦:add = lambda x, y: x + yprint(add(4, 6))# Output: 10这还有⼀些lambda表达式的应

2020-06-20 00:03:21 134

原创 python基础 - 生成器(Generators)和协程(Coroutine)

⾸先我们要理解迭代器(iterators)。根据维基百科,迭代器是⼀个让程序员可以遍历⼀个容器(特别是列表)的对象。然⽽,⼀个迭代器在遍历并读取⼀个容器的数据元素时,并不会执⾏⼀个迭代。你可能有点晕了,那我们来个慢动作。换句话说这⾥有三个部分:可迭代对象(Iterable) 迭代器(Iterator) 迭代(Iteration)上⾯这些部分互相联系。我们会先各个击破来讨论他们,然后再讨论⽣成器(generators).1、可迭代对象(Iterable)Python中任意的对象,只要它定义了

2020-06-19 00:00:23 553

原创 机器学习中的偏差和方差

1、误差的两大来源机器学习中有两个主要的误差来源:偏差和方差。理解它们将协助合理安排时间去执行策略来提升性能。首先了解一下数据集的分类:训练集(training set) 用于运行你的学习算法。 验证集(hold-out cross validation set) 用于调整参数,选择特征,以及对学习算法作出其它决定。 测试集(test set) 用于评估算法的性能,但不会据此改变学习算法或参数。偏差,可以理解为样本y与模型预测结果的差距,可以使用平方差计算。方差,是样本y值与模型期望的差的

2020-06-18 16:23:42 1723

原创 KPI异常检测【三】- 机器学习算法

1、相关概念1.1 异常类型https://zhuanlan.zhihu.com/p/673962191.2 检测方法https://www.cnblogs.com/rnanprince/articles/10790313.html标记(labels):有监督,半监督,无监督 样本类型 困难 有监督 平衡 样本极度不平衡时,训练难;人工标记难 半监督 极度平衡 可能无异常样本 无监督 无标签 有强假设关系,检测存在偏差 .

2020-06-17 23:15:44 4593

原创 python基础 - 生成随机数组

一、random模块python的random模块中有一些生成随机数字的方法,例如random.randint, random.random, random.uniform, random.randrange,这些函数大同小异,均是在返回指定范围内的一个整数或浮点数,下边简单解释一下这几个函数。from random import randomfrom random import randintfrom random import uniformfrom random import rand

2020-06-14 22:51:22 9342

原创 python基础 - networkx 绘图总结

networkx是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。利用networkx可以以标准化和非标准化的数据格式存储网络、生成多种随机网络和经典网络、分析网络结构、建立网络模型、设计新的网络算法、进行网络绘制等。networkx支持创建简单无向图、有向图和多重图(multigraph);内置许多标准的图论算法,节点可为任意数据;支持任意的边值维度,功能丰富,简单易用。networkx以图(graph)为基本数据

2020-06-14 15:45:08 44665 5

原创 python基础 - matplotlib绘图总结

一、matplotlibMatplotlib是Python中用的最多的2D图形绘图库,学好Matplotlib的用法可以帮助我们在统计分析中更灵活的展示各种数据的状态,它可与 NumPy 一起使用。1、创建方式import matplotlib.pyplot as pltimport numpy as npimport pandas as pd2、图片大小plt.figure(figsize=(9, 3)) # 图片大小:长和宽3、标题plt.title("Abno.

2020-06-14 13:19:53 1375

原创 Kafka原理

1、kafka概述1.1 消息队列Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据客户端消费Queue的数据有两种方式:发布/订阅模式,也就是一对多,数据生产之后,推给所有的订阅者,打个比方:就像是手机上面的QQ消息,你没有打开手机看消息,但是如果有消息就会一直有消息推送过来。 点对点模式,也就是一对一,这个是主动模式,第一种模式更像是被动模式,这个就是消

2020-06-10 22:55:40 577 1

原创 Elasticsearch概念理解

终于有人把Elasticsearch原理讲透了! - 知乎https://zhuanlan.zhihu.com/p/62892586小史和老师故事,情节紧凑,承上启下,中心思想明确!!!非常好,树立大拇指!!!

2020-06-10 15:56:25 300 3

原创 shell 多行注释

在写 shell 脚本的时候,经常需要注释多行命令,但在每一行前输入 # ,很不方便。1、DOCUMENT可以采用 HERE DOCUMENT 特性,实现多行注释,这是比较稳妥的作法比如:#!/bin/bash<<'COMMENT'your comment 1your comment 2...COMMENT2、直接采用 : '直接采用 : '这个命令的特殊作用,但这种做法有很多局限性,而且会影响性能。注意: + 空格 + 单引号。如下是最简单的使用方

2020-06-08 01:17:45 8240

原创 notepad++ 自动标序号

原始内容:快捷键总结Ctrl + Shift + b 标签开关Win+I,打开设置Win+D,显示/隐藏桌面Win+M,最小化所有窗口Win+V,剪贴板记录(多条复制)Win+→↑←↓ 切换应用占据屏幕的方式Win++/- 开启放大镜功能Win+Shift+S,截图Ctrl + TAB,切换tab页Win+Tab,最近活动,新建桌面,Alt+Tab,在应用之间切换Ctrl+Shift+T,快速恢复误关的网页Win+T,任务栏切换Shift+任务栏图标,新建一个该图标所.

2020-06-08 01:03:48 6074

转载 等价类划分法设计测试用例

等价类划分法是常用的黑盒测试用例设计方法,测试用例设计时的唯一依据是产品需求文档。一、定义 所谓等价类,是把所有可能的输入数据,即程序的输入域划分为若干子集,然后从每一个子集中,选取少数具有代表性的数据作为测试用例。等价类分为有效等价类和无效等价类。有效等价类是对程序有效的输入,无效等价类是其他任何可能的输入。有效等价类和无效等价类是用等价类划分法设计测试用例时必须的,在测试程序时,程序既能接受正确的输入,对无效的输入应该做出相应判断。二、划分等价类的标准完备测试、避免冗余;...

2020-06-08 00:52:53 5827

原创 python基础 - 处理excel实例

1、提取word内的所有表格内容,写到excel内安装上python-docx# coding=utf-8from docx import Documentfrom xlwt import Workbook# 初始化路径xl_path = f"./path/excel.xls"word_path = f"./path/word.doc"# 读worddoc = Document(word_path)tables = []for table in doc.tables:

2020-06-08 00:50:01 797

原创 Python基础 - 读写XML文档(lxml方式)--暂存待续

http://yshblog.com/blog/151https://www.jianshu.com/p/e084c2b2b66d

2020-06-08 00:26:15 202

转载 《南瓜书》PumpkinBook

周志华老师的《机器学习》(西瓜书)是机器学习领域的经典入门教材之一,周老师为了使尽可能多的读者通过西瓜书对机器学习有所了解, 所以在书中对部分公式的推导细节没有详述,但是这对那些想深究公式推导细节的读者来说可能“不太友好”,本书旨在对西瓜书里比较难理解的公式加以解析,以及对部分公式补充具体的推导细节,诚挚欢迎每一位西瓜书读者前来参与完善本书:一个人可以走的很快,但是一群人却可以走的更远。  南瓜书是西瓜书的公式推导版,里面的内容都是以西瓜书的内容为前置知识进行表述,所以 南瓜书的最佳使用方法 是以西..

2020-06-08 00:03:44 9438

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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