爬虫之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标头的值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值