elk-min.jpg

Elasticsearch 基础入门

Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据(结构化、非结构化、地理位置、度量指标),帮助您发现意料之中以及意料之外的情况。无论 Elasticsearch 是在一个节点上运行,还是在一个包含 300 个节点的集群上运行,您都能够以相同的方式与...


作者头像
Madman
0 10360
Python 3 爬虫-min.png

Python 3 爬虫|第11章:爬取海量妹子图

爬取 www.mzitu.com 全站图片,截至目前共 5162 个图集,16.5 万多张美女图片,使用 asyncio 和 aiohttp 实现的异步版本只需要不到 2 小时就能爬取完成。按日期创建图集目录,保存更合理。控制台只显示下载的进度条,详细信息保存在日志文件中。支持异常处理,不会终止爬虫程序。失败的请求,下次再执行爬虫程序时会自动下载


作者头像
Madman
15 22415
Python 3 爬虫-min.png

Python 3 爬虫|第9章:使用 asyncio ...

支持 HTTP 协议的异步网络 I/O 库:aiohttp,我们的爬虫需要使用该库的 Client 功能。需要结合 asyncio 一起使用,经过测试,单线程的异步编程比多线程版本的性能还要好一些,毕竟没有创建线程的开销和线程间上下文切换。另外,如果你下载的是视频等大文件,此时,将网络数据保存到本地磁盘的这个过程,本身是阻塞的,所以它会阻塞事件循环。asyncio 不支持磁盘 I/O...


作者头像
Madman
0 20821
Python 3 爬虫-min.png

Python 3 爬虫|第8章:使用 asyncio 模块实现并发

asyncio 模块于 Python 3.4 添加到标准库中,它在单线程中使用事件循环来驱动协程从而实现并发。对事件循环来说,调用回调与在暂停的协程上调用 .send() 方法效果差不多。各个暂停的协程是要消耗内存,但是比线程消耗的内存数量级小。而且,协程能避免可怕的 "回调地狱"。使用 asyncio 包时,我们编写的协程被包装成 Task...


作者头像
Madman
2 18717
Python 3 爬虫-min.png

Python 3 爬虫|第7章:协程 Coroutines

生成器可以作为协程(coroutine)使用,称为 "基于生成器的协程"。协程和生成器类似,都是定义体中包含 yield 关键字的函数。但它们也有本质区别,生成器用于 "生成" 供迭代的数据,next() 方法只允许调用方从生成器中获取数据; 而协程与迭代无关,协程是数据的消费者,调用方会把数据推送给协程。PEP 342 给生成器增加了 send()...


作者头像
Madman
0 11728