从网页抓取数据(ASP.NET中抓取网页内容-保持登录状态利用Post数据成功登录服务器应用系统)
优采云 发布时间: 2021-12-04 23:00从网页抓取数据(ASP.NET中抓取网页内容-保持登录状态利用Post数据成功登录服务器应用系统)
在ASP.NET中抓取网页内容非常方便,其中解决了ASP中困扰我们的编码问题。
1、获取一般内容
需要三个类:WebRequest、WebResponse、StreamReader
需要的命名空间:System.Net、System.IO
核心代码:
WebRequest类的Create是一个静态方法,参数是要爬取的网页的URL;
Encoding 指定编码。编码有ASCII、UTF32、UTF8等通用编码属性,但没有gb2312的编码属性,所以我们使用GetEncoding获取gb2312编码。
2、抓取图片或其他二进制文件(如文件)
需要四个类:WebRequest、WebResponse、Stream、FileStream
需要的命名空间:System.Net、System.IO
核心代码:用Stream读取
3、抓取网页内容的POST方法
在抓取网页时,有时需要通过Post将一些数据发送到服务器。在网页抓取程序中添加如下代码,将用户名和密码发布到服务器:
4、ASP.NET 抓取网页内容-防止重定向
在网页爬取过程中,在成功登录服务器应用系统后,应用系统可能会通过Response.Redirect对网页进行重定向。如果不需要响应这个重定向,那么我们不应该发送 reader.ReadToEnd() 到 Response.Write 出来时,就可以了。
5、ASP.NET 抓取网页内容-保持登录状态
使用Post数据成功登录服务器应用系统后,可以抓取需要登录的页面,所以我们可能需要在多个Request之间保持登录状态。