C#远程抓取网页

最近在做一个关于远程抓取网页并获取其中的信息的功能,感觉收获颇多遂写下此篇文章仅供交流:

PostRequest()方法中的两个参数,URL要抓取的网页的网址,postData是传的值,根据传的值获取页面的信息

最后返回一个字符串

1 /// <summary>

2 /// 远程抓取网页

3 /// </summary>

4 /// <param name="url">网页的地址</param>

5 /// <param name="postData">参数</param>

6 /// <returns></returns>

7 public static string PostRequest(string url, string postData)

8 {

9 //制定编码格式

10 var encoding = Encoding.GetEncoding("gb2312");

11 //url的设置

12 var request = (HttpWebRequest)WebRequest.Create(url);

13 //设置请求的方式

14 request.Method = "POST";

15 //设置Content-Type 的值

16 request.ContentType = "application/x-www-form-urlencoded";

17

18 var data = encoding.GetBytes(postData);

19 request.ContentLength = data.Length;

20 var outStream = request.GetRequestStream();

21 outStream.Write(data, 0, data.Length);

22 outStream.Close();

23 var response = (HttpWebResponse)request.GetResponse();

24 var srContent = new System.IO.StreamReader(response.GetResponseStream(), encoding);

25 //获取抓取下来的页面内容

26 var strPage = srContent.ReadToEnd();

27 response.Close();

28 srContent.Close();

29 return strPage;

30 }

这些仅是作为初学者的一点收获,希望各位大虾多多指教