《C# 爬虫 破境之道》:第一境 爬虫原理 — 第二节:WebRequest
2021-01-22 02:13
标签:分布 ike ogr 构建 stat 集群 content bre json 本节主要来介绍一下,在C#中制造爬虫,最为常见、常用、实用的基础类 ------ WebRequest、WebResponse。 先来看一个示例 [1.2.1]: 运行以上代码,我们能看到类似如下的输出: 一只爬虫小幼崽儿,就如此轻松的诞生了~ 示例 [1.2.1]中,最核心的部分,就是使用了本节的主题、两个基础类:WebRequest和WebResponse。 从名称上就可以看出,这两个类是针对Web资源的操作类。下面,将针对这两个类来做针对性的细究。 有点儿事儿,未完待续…… 《C# 爬虫 破境之道》:第一境 爬虫原理 — 第二节:WebRequest 标签:分布 ike ogr 构建 stat 集群 content bre json 原文地址:https://www.cnblogs.com/mikecheers/p/12090678.html 1 using System;
2 using System.IO;
3 using System.Net;
4 using System.Text;
5
6 class Program
7 {
8 static void Main(string[] args)
9 {
10 var request = WebRequest.Create(@"https://www.cnblogs.com/mikecheers/p/12090487.html");
11 request.Method = "GET";
12 using (var response = request.GetResponse())
13 {
14 using (var stream = response.GetResponseStream())
15 {
16 using (var reader = new StreamReader(stream, new UTF8Encoding(false)))
17 {
18 var content = reader.ReadToEnd();
19 Console.WriteLine(content);
20 }
21 }
22 response.Close();
23 }
24 request.Abort();
25 Console.ReadLine();
26 }
27 }
{省略若干html代码}
div id="post_body" class="blogpost-body ">
p> 在构建本章节内容的时候,笔者也在想一个问题,究竟什么样的采集器框架,才能算得上是一个“全能”的呢?就我自己以往项目经历而言,可以归纳以下几个大的分类:p>
ol>
li>根据通讯协议:HTTP的、HTTPS的、TCP的、UDP的;li>
li>根据数据类型:纯文本的、json的、压缩包的、图片的、视频的;li>
li>根据更新周期:不定期更新的、定期更新的、增量更新的;li>
li>根据数据来源:单一数据源、多重数据源、多重数据源混合;li>
li>根据采集点分布:单机的,集群的;li>
li>根据反爬虫策略:控制频率的,使用代理的,使用特定UA的;li>
li>根据配置:可配置的,不可配置的;li>
ol>
p> 以上的分类,也有可能不够全面,不过应该可以涵盖主流数据采集的分类了。p>
p> 为了方便阐述一个爬虫的工作原理,我们从上面找到一条最简单路径,来进行阐述(偷奸耍滑?非也,大道化简,万变不离其宗:)p>
p> OK,一个小目标,单机、单一数据源、定期更新、纯文本、HTTP的爬虫,来一只。p>
p> p>
p style="margin-left: 30px;">在第一境的后面各节中,我们就来逐步实现这个小目标,同时,也来探究一下其中的原理。只有掌握了这些,才能通过继续扩展,衍生出强大的爬虫:)p>
div>{省略若干html代码}
上一篇:windows系统内外网互通命令
下一篇:C#常用IO操作
文章标题:《C# 爬虫 破境之道》:第一境 爬虫原理 — 第二节:WebRequest
文章链接:http://soscw.com/index.php/essay/45239.html