自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 资源 (3)
  • 收藏
  • 关注

原创 requests 不能发送 bytearray 数据

requests 不能发送 bytearray 数据import requestsbody = b"abc"body = bytearray(body)r = requests.post('https://example.com', data=body)# r = requests.post('https://example.com', data=memoryview(body))pr...

2019-10-21 20:43:09 1832

原创 Frida 入门及介绍

Firda介绍Frida 是一款基于 Python + JavaScript 的 Hook 与调试框架。Firda 是一款易用的跨平 Hook 工具, Java 层到 Native 层的 Hook 无所不能,是一种 动态 的插桩工具,可以插入代码到原生 App 的内存空间中,动态的去监视和修改行为,原生平台包括 Win、Mac、Linux、Android、iOS 全平台。静态二进制插桩:在...

2019-09-02 20:49:54 36160 1

原创 Redis 介绍

Redis 介绍Redis 是一种键值(Key-Value)数据库,叫做非关系数据库,只能通过键来查询值,改结构使得 Redis 读写效率很快。用途: Redis 主要是内存数据库,数据是存储在内存中,虽然常被用作内存数据库,也支持将数据存储在硬盘中。特点: Redis 的键数据类型是字符串,值得数据类型很多:字符串、列表、字典、集合、有序集合。Redis 由多种数据结构来实现,主要出于时...

2019-05-31 11:16:46 941

原创 二叉树

树概念定义节点高度: 节点到叶子节点的最长路径(边数)节点深度: 根节点到这个接点所经历的边的个数节点层: 节点的深度 + 1树的高度: 根节点的高度二叉树每个节点最多有两个叉,分别是左子节点和右子节点,并不一定每个节点都有两个子节点。满二叉树: 叶子节点全在最底层,除了叶子节点每个节点都有左右两个子节点,这种二叉树就是满二叉树。完全二叉树: 叶子节点都在最底下两层,最后一层...

2019-04-10 00:12:53 673

原创 索引

索引我们常见的MySQL底层的依赖就是 B+ 树这种数据结构。索引的作用我们常见的业务都离不开“数据的存储和计算”,相对于的数据结构就是:存储:需要数据结构计算:需要的就是算法存储: 功能上无非是增删查改,当存储数据很多时,性能就成为关注的重点,特别是在与存储相关的基础系统(MySQL、分布式文件系统)、中间件。如何节省存储空间、提高数据增删查改的执行效率,就成为设计的重点,而这...

2019-04-08 22:50:14 607

原创 Mysql 的索引

索引:为了提高查询数据的效率,就像书的目录一样。常见的索引模型哈希表: 用键值对存储数据的结构,将值放在数组里,使用一个哈希函数将 key 换算成数组的下标,然后将 value 放在改数组的下标中。哈希表这种结构适用于等值查询的场景,也不适合做区间查询。有序数组: 在等值查询和区间查询性能很好,但是在更新数据时成本太高,只适用于静态存储引擎。二叉树: 节点的左儿子小于父节点,父节点又...

2019-04-05 22:54:55 652

原创 红黑树

红黑树二叉查找树在理想情况下时间复杂度 O(logn)O(logn)O(logn)当二叉树在频繁的动态更新过程中,会出现树的高度远大于 O(log2n)O(log_2n)O(log2​n)红黑树: 就是解决复杂度退化问题,我们设计一种平衡二叉树。平衡二叉查找树定义: 二叉树中任意一个节点的左右子树高度相差不能大于1。完全二叉树、满二叉树都是平衡二叉树,但是非平衡二叉树也有可能是平衡二叉...

2019-03-31 23:32:05 568

原创 B+树

B+树查询数据常用的 SQL 语句:根据值来查找数据:select * from name where id = 325根据区间来查找数据:select * from where id > 1000 and id < 2000对于性能主要关注 空间 和 时间 两方面,也就是 存储空间 和 执行效率 。功能的实现支持快速查询、插入的动态数据结构,有: 散列表、平衡二叉树...

2019-03-25 17:19:57 888

原创 Trie树

Trie树别称:字典树树形结构,专门处理字符串匹配的数据结构,解决在一组字符串集合中快速查找某个字符串的问题。样例: 搜索引擎的提示功能,当搜索东西时,并不用把所有内容都输入进去,一定程度上节省了搜索时间。什么是Trie树本质: Trie树的本质,利用字符串之间的公共前缀,将重复的前缀合并在一起。Trie树的实现需要实现的功能有两个:将字符串插入到Trie树在Trie树查询...

2019-03-07 23:09:28 542

原创 位图

位图通过位图来实现URL去重功能,避免重复爬去相同的网页。我们要处理的对象是URL,需要支持的操作就两个,添加和查询URL。除了功能方面,我们还要求这两个操作执行效率要高,当处理上亿URL时,内存会非常严重,所以在存储效率上也要高效。满足条件的数据结构有:散列表红黑树跳表这些动态数据结构,都支持快速添加和查找数据,但是对内存消耗方面有些大。比如散列表:当爬去10亿URL,为...

2019-03-04 10:44:09 596

原创 KNN

KNNKNN:K-Nearest Neighbor数据挖掘算法中最简单的一种工作原理示例:我们根据电影的打斗次数、接吻次数等指标来统计电影的类型。分类:我们将打斗次数作为X轴,接吻次数作为Y轴,放在二维坐标轴上标记,对未知的电影分类我们看它在坐标轴的位置附近的电影类型。计算待分类物体与其他物体之间的距离;统计距离最近的K个邻居;对于K个最近的邻居,它们属于哪个分类最多,待分类...

2019-03-03 21:29:47 2492 2

原创 SVM

SVMSVM:Support Vector Machine中文名:支持向量机学习模型有监督学习:需要事先对数据打上分类标签,这样机器就知道数据属于哪一类。无监督学习:数据没有打上分类标签,有可能因为不具备先验知识,或打标签的成本很高,需要机器代替我们部分完成改工作,比如将数据进行聚类,方便后人工对每个类进行分析。SVM 是有监督的学习模型:可以进行模式识别、分类以及回归分析。SV...

2019-02-13 23:12:55 8263 1

原创 朴素贝叶斯分类

朴素贝叶斯分类贝叶斯原理贝叶斯为了解决一个叫“逆向概率”问题写的一篇文章,在没有太多可靠证据的情况下,做出符合数学逻辑的推测。通常,事件A在事件B(发生)的条件下的概率,与事件B在事件A(发生)的条件下的概率是不一样的。然而,这两者是有确定的关系的,贝叶斯定理就是这种关系的陈述。贝叶斯公式的一个用途在于通过已知的三个概率函数推出第四个。定义: 贝叶斯定理是关于随机事件A和B的条件概率的...

2019-02-11 18:20:44 665

原创 散列表介绍

散列表介绍概念原始数据叫作 键(键值) 或 关键字(key) ;将原始数据转化为数组下标的映射方法称为 散列函数(或“Hash 函数”“哈希函数”,hash function) ;散列函数计算得到的值就叫作 散列值(或“Hash 值”“哈希值”,table)散列表散列表(Hash table) 也叫哈希表:根据键Key直接访问在内存存储位置的数据结构。通过计算一个关于键值的函数,...

2019-01-08 00:42:55 706

原创 Hash算法进行签名验签

Hash算法进行签名验签Hash算法哈希算法(Hash 算法,Hash 算式,散列算法,消息摘要算法) :将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。性质单向性。即给定一个输入数,容易计算出它的哈希值,但是已知一个哈希值根据同样的算法不能得到原输入数。弱抗碰撞性。即给定一个输入数,要找到另一个得到给定数的哈希值,在使用同一种方法时,在计算上不可行。...

2019-01-07 00:27:48 4753 10

原创 Https加密过程

Https加密HTTP: 直接通过明文在浏览器和服务器之间传递信息。HTTPS: 采用 对称加密 和 非对称加密 结合的方式来保护浏览器和服务端之间的通信安全。对称加密对称加密: 加密和解密都是同一个密钥。非对称加密非对称加密: 密钥成对出现,分为公钥和私钥,公钥和私钥之间不能互相推导,公钥加密需要私钥解密,私钥加密需要公钥解密。两种加密区别对称加密速度快,非对称加密速度慢(相对...

2019-01-06 17:52:35 5835 14

原创 Xpath常用语法

Xpath常用语法Xpath 是一门在XML文档中查找信息的语言。Xpath 用来在XML文档中对元素和属性进行遍历。Xpath工具推荐chrome 插件 XPath Helper快捷键:CTRL+SHIFT+X :开启长按 CTRL+SHIFT+鼠标:提取段落Xpath语法常用路径表达式表达式描述/从根节点选取nodename选取节点的所...

2019-01-05 18:14:15 1632

原创 Scrapy的Item Loaders

Scrapy的Item LoadersItem 提供抓取数据的容器,而Item Loader提供了填充该容器的机制。Item Loader用法from scrapy.loader import ItemLoaderfrom test.items import DemoItemdef parse(self, response): loader = ItemLoader(item=...

2019-01-04 10:31:29 587

原创 pyenv 和 pipenv 和 direnv 管理Python环境

管理多个相互独立的 Python 虚拟开发环境最终实现pyenv:同一台电脑管理多个 Python 版本pipenv:每一个项目建立项目隔绝的虚拟环境direnv:进入项目自动激活虚拟环境Pyenvpyenv 可以改变全局的 Python 版本,安装多个版本的 Python, 设置目录级别的 Python 版本。安装 Pyenvbrew install pyenv或 ...

2018-12-19 11:58:52 1254

原创 Python的functools模块

Python的functools模块functools 模块可以说主要是为函数式编程而设计,用于增强函数功能。functools模块用以为可调用对象(callable objects)定义高阶函数或操作。文章目录Python的functools模块partialupdate_wrapperwrapsreducecmp_to_keylru_cachesingledispatchparti...

2018-12-09 19:22:17 29343

原创 Python的itertools模块

Python的itertools模块itertools 模块用来产生不同类型迭代器的函数或类,这些函数的返回都是一个迭代器。可以通过for循环来遍历取值,也可以使用next()取值模块提供的迭代器函数类型无限迭代器:生成一个无限序列有限迭代器:接收一个或多个序列作为参数,进行组合、分组和过滤组合生成器:序列的排列、组合文章目录Python的itertools模块无限迭代器co...

2018-12-09 18:14:50 616

原创 Python 进阶

文章目录*args 用法**kwargs 用法可迭代对象迭代对象迭代器迭代生成器Map、Filter、ReduceMapFilterReduce三元运算符装饰器日志功能在函数中嵌入装饰器__slots__魔法try/else 语句一行式简易 Web server一行构造器列表展平使用C扩展CTypesSWIGPython/C API协程函数缓存上下文管理器基于生成器的实现变为上下文对象*args...

2018-12-09 15:45:49 718

原创 Python的Collections

文章目录defaultdict在字典中对键进行嵌套操作counterdequenametupledefaultdict不需要检查key是否存在from collections import defaultdictdemo = (('a',1),('b',2),('c',3),('d',4))print(dict(demo))default_demo = defaultdict(...

2018-12-07 16:31:42 652

原创 Gensim

Gensim是一款开源的工具包,用于从原始的非结构化的文本,无监督的学习到文本隐层的主题向量表达。支持 TF-IDF、LSA、LDA、Word2Vec 等多种主题模型算法。支持流式训练 ,提供了相似度计算,信息检索等常用任务的 API 接口。基本概念语料:原始文本集合,用于无监督的训练文本主题的隐层结构。语料中不用 人工标注 附加信息。在 Gensim 中,Corpus 通常是一个...

2018-11-22 20:17:22 2094

原创 Tornado

文章目录Tornado初入Tornado参数handlers字符串服务HTTP状态码TornadoTornado 是使用 Python 编写的一个强大的、可扩展的Web服务器。它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。Python Web 框架有三 Django、Flask、Tornado 其中 Tornado 是唯一一个...

2018-11-21 19:26:43 1884 2

原创 NLP文本相似度

NLP文本相似度相似度度量:计算个体间相似程度jieba:Python的第三方库,用于自然语言处理,对文本进行分词。gensim:利用 TF-IDF 算法来进行文本相似度计算。处理思路: jieba 进行分词,整理为指定格式,利用 gensim 库将要对比的文档通过 doc2bow 转换成稀疏向量,再通过 models 中的 TF-IDF 将语料库进行处理,特征值和稀疏矩阵相似度建...

2018-11-20 09:52:31 1752

原创 Faker模块

Faker模块该模块主要是用来伪造一些看起来一点都不假的数据。一开始看到该模块我就想到了李相赫,有道词典翻译这个词竟然显示出来了李相赫。。哈哈哈哈。。安装pip install faker创建Fakerfrom faker import Faker, Factoryfake = Faker("zh_CN") # 默认英文,初始化为中文print(fake.name())...

2018-11-19 17:21:52 3146

原创 Word2vec

Word2vec目的:从文档中有效的自动抽取语义主题。处理原始的、非结构化的文本。gensim 中的算法有LSA、LDA、RP、TF-IDF、word2vec,通过在一个训练文档语料库中,检查词汇统计联合出现模式,发掘文档语义结构,这些算法属于 非监督 学习,无需人工输入,自己只需要提供一个语料库即可。语料:原始文本集合,用于无监督的训练文本主题的隐层结构。语料中不用 人工标注 附加...

2018-11-19 10:26:58 1188

原创 Whoosh模块

Whoosh模块纯Python的全文搜索库,Whoosh是索引文本及搜索文本的类和函数库。它能让你开发出一个个性化的经典搜索引擎。Whoosh 自带的是英文分词,对中文分词支持不太好,使用 jieba 替换 whoosh 的分词组件。索引查找索引查找是在索引表和主表(线性表的索引存储结构)上进行查找。索引查找的过程:根据给定的索引值k1,在索引表上查找出索引值等于k1的索引项,...

2018-11-15 15:17:14 9757

原创 Linux安装Opencc

Opencc安装一个开源的中文简繁转换项目,致力于制作高质量的基于统计预料的简繁转换词库。Centos7.0系统下载Opencc源码# git clone https://github.com/BYVoid/OpenCC# cd OpenCC编译[root@VM_130_110_centos OpenCC]# makemkdir -p build/rel(cd buil...

2018-11-10 16:04:00 3784

原创 Python读取大文件

Python读取大文件用Python读取2GB文件的时候,用普通方式读取报错MemoryError,说明该无文件无法被装载在内存中发生溢出了。read和readlines都是将整个文件加入到内存中,文件较大时,会引发MemoryError逐行读取with open('filename', 'r', encoding = 'utf-8') as f: while True: ...

2018-11-10 13:50:29 1203

原创 jieba模块

jieba做最好的 Python 中文分词组件文章目录jieba特点主要功能分词添加自定义词典载入词典基于 TF-IDF 算法的关键词抽取并行分词词语在原文的位置延迟加载命令分词特点支持三种分词模式:精确模式:将句子最精确地切开,适合文本分析全模式:将句子中所有的可以成词的词语都扫描出来,速度很快,但是不能解决歧义搜索引擎模式:在精确的基础上,对长词再次切分,提高召回率,适用...

2018-11-07 19:37:11 5352

原创 Gensim提取语义主题

Gensim目的:从文档中有效的自动抽取语义主题。处理原始的、非结构化的文本。gensim 中的算法有LSA、LDA、RP、TF-IDF、word2vec,通过在一个训练文档语料库中,检查词汇统计联合出现模式,发掘文档语义结构,这些算法属于 非监督 学习,无需人工输入,自己只需要提供一个语料库即可。语料:原始文本集合,用于无监督的训练文本主题的隐层结构。语料中不用 人工标注 附加信息...

2018-11-07 17:01:42 3383 2

原创 aiohttp 爬取豆瓣电影

aiohttp 爬取豆瓣全部电影接口:https://movie.douban.com/j/new_search_subjects?start=0start参数:是从当前位置向下显示20个电影的信息思路:将start参数每次增加20就可以了。主要是使用aiohttp异步请求获取内容。可以看到返回的信息格式是JSON,我们直接爬取就可以了。代码所有的爬虫实例代码都放在GitHub...

2018-11-02 19:22:35 933

原创 Numpy 数组

Numpy 数组Numpy数组是具有固定大小的类型化数组。Numpy数组是同质的,只能存放同一种类型的对象。数组由两部分组成:存储在连续的内存块中的实际数据描述实际数据的元数据文章目录Numpy 数组创建一维数组创建多维数组选择 Numpy 数组元素Numpy 的数值类型数据类型对象字符码dtype 属性一维数组的切片与索引处理数组形状堆叠数组拆分 Numpy 数组Numpy ...

2018-10-30 23:24:30 1170

原创 Reuqests-html教程

文章目录Reuqests-html安装基本使用获取页面非异步异步获取获取链接获取元素CSS选择器Xpath选择器元素内容JavaScript支持render函数属性异步请求不带请求Reuqests-htmlrequests 作者开发,集成 pyppeteer。最近爬虫遇到的情况是,爬取的网站使用JavaScript渲染的,网站爬取的结果只有一堆JS代码。之前遇到这种情况的处理办法是用Sp...

2018-10-26 13:53:54 2258 2

原创 Pyplot基础教程

Pyplot基础教程matplotlib的pyplot子库提供了和matlab类似的绘图API绘图基础定义图像窗口plt.figure() # 定义一个图像窗口plt.show() # 显示图像figure窗口plt.figure(num=3, figsize=(8,5)) # 图像窗口,编号为3,大小为(8,5)plt.plot(x,y,color='...

2018-10-25 15:21:28 1614

原创 Pandas常用方法

Pandas常用方法常用属性np.array(list,dtype=np.int) 创建一个数组np.shape 显示np数组属性np.ndim 显示数组维度np.dtype 显示数组元素类型np.itemsiex 数组元素所占字节大小np.size 数组元素个数np.arange(1,11) 产生一个1-11的等差数列np.aran...

2018-10-25 15:20:48 788

原创 Mac下matplotlib中文乱码

Mac下matplotlib中文乱码字体下载:地址第一步寻找字体路径&gt;&gt;&gt; import matplotlib&gt;&gt;&gt; matplotlib.matplotlib_fname()'/Users/hubo/code/.venv/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc'字...

2018-10-24 23:17:11 702

原创 Pandas入门学习(4)

文章目录Pandas 常用功能Pandas分组将数据拆分成组查看分组迭代遍历分组选择一个分组聚合一次使用多个聚合函数过滤Pandas 合并/连接在一个键上合并两个DataFrame合并多个键上的两个DataFramehow参数3、Pandas IO工具自定义索引转换器指定标题名称Pandas 常用功能Pandas分组在许多情况下,我们将数据分成多个集合,并在每个子集上应用一些函数。在应用函...

2018-10-23 21:57:38 346

Kafka 配置文件及编程

Kafka配置文件server.properties,以及 IDEA 下消费者和生产者的编程代码解析

2018-03-27

Hadoop(HA)高可用配置文件

详细的 hadoop (HA)高可用配置文件内容,以及注释摘要。四个配置文件详细内容。

2018-03-26

ECharts 实现源码

具体在实现 Echarts 框架,使用的源码,来进行实现 web 网页的。

2018-03-22

空空如也

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

TA关注的人

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