01 2020 档案
摘要:续上一节内容,本节主要讲解一下Web压缩数据的处理方法。 在HTTP协议中指出,可以通过对内容压缩来减少网络流量,从而提高网络传输的性能。 那么问题来了,在HTTP中,采用的是什么样的压缩格式和机制呢? 首先呢,先说压缩格式,主要有三种: DEFLATE,是一种使用 Lempel-Ziv 压缩算法(
阅读全文
摘要:续上一节内容,对Web爬虫进行进一步封装,通过委托将爬虫自己的状态变化以及数据变化暴露给上层业务处理或应用程序。 为了方便以后的扩展,我先定义一个蚂蚁抽象类(Ant),并让WorkerAnt(工蚁)继承自它。 [Code 2.2.1] 1 using System; 2 3 public abstr
阅读全文
摘要:首先欢迎您来到本书的第二境,本境,我们将全力打造一个实际生产环境可用的爬虫应用了。虽然只是刚开始,虽然路漫漫其修远,不过还是有点小鸡冻:P 本境打算针对几大派生类做进一步深耕,包括与应用的结合、对比它们之间的区别、综合共性、封装。One-By-One。 System.IO.Packaging.Pac
阅读全文
摘要:在第一境中,我们主要了解了爬虫的一些基本原理,说原理也行,说基础知识也罢,结果就是已经知道一个小爬虫是如何诞生的了~那么现在,请默默回想一下,在第一境中,您都掌握了哪些内容?哪些还比较模糊?如果还有什么不清楚或不牢固的地方,建议还是先返回去再看一遍,毕竟看比我写要快得多~ 如果都掌握差不多了,OK,
阅读全文
摘要:为什么说到数据流了呢,因为上一节中介绍了一下异步发送请求。同样,在数据流的处理上,C#也为我们提供几个有用的异步处理方法。而且,爬虫这生物,处理数据流是基础本能,比较重要。本着这个原则,就聊一聊吧。 我们经常使用到的流有文件流、内存流、网络流,爬虫与这三种流都有着密不可分的联系,可以联想以下这些场景
阅读全文
摘要:前两节,我们对WebRequest和WebResponse这两个类做了介绍,但两者还相对独立。本节,我们来说说如何将两者结合起来,方式有哪些,有什么不同。 1.4.1 说结合,无非就是我们如何发送一个Request以及如何得到一个Response。 WebRequest提供了三组方法(Framewo
阅读全文
摘要:第二节中,我们介绍了WebRequest,它可以帮助我们发送一个请求,不过正所谓“来而不往非礼也”,对方收到我们的请求,不给点回复,貌似不太合适(不过,还真有脸皮厚的:P)。 接下来,就重点研究一下,我们收到的回复,是个什么样的东东 [Code 1.3.1] 1 // 2 // Summary: 3
阅读全文