爬虫之C#实现的几种方式

  • HttpWebRequest/HttpWebResonse
  • WebBrowser
  • com组件

第一种方式HttpWebRequest/HttpWebResonse

这种方式最常见也可能是最常用的。使用方式大概如下:

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
HttpWebResponse response =(HttpWebResponse) request.GetResponse();
Stream receviceStream = response.GetResponseStream();
StreamReader readerOfStream = new StreamReader(receviceStream,         System.Text.Encoding.GetEncoding("utf-8"));
string strHTML = readerOfStream.ReadToEnd();
readerOfStream.Close();
receviceStream.Close();
response.Close();

这里写的是普通的调用方式,并没有涉及到Cookie以及相关表单处理


第二种方式WebBrowser

这种方式,我主要是用用来处理 网页中的元素的点击事件(如 树形结构)


第三种方式com组件

第三种方式也是最近在尝试的一种方式 就是使用微软的com组件,进行爬取和开发。为什么写第三种方式,是因为在有些网站的表单提交、cookie 处理不是很方便在第一种和第二种方式都处理不方便的,不妨试一下。

当时的想法就是既然通过代码需要记录cookie 传递cookie,为什么不直接使用浏览器本身的cookie呢。

相关com引用

Microsoft HTML Object Library
Microsoft Internet Controls

相关处理API

Navigate (URL [, Flags] [, TargetFrameName] [, PostData] [, Headers])

跳转到指定的URL。是以下常量或值之一:navOpenInNewWindow = 1 navNoHistory = 2 navNoReadFromCache = 4 navNoWriteToCache = 8 TargetFrameName是一个字符串,用于指定将显示结果的框架的名称。PostData是使用HTTP post事务发送的数据。标题是指定要发送的HTTP标头的值。

你可能感兴趣的:(爬虫)