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