c#抓取网页数据(开心网教你如何使用GET方法应该算是最简单,最好操作的 )
优采云 发布时间: 2022-03-06 10:15c#抓取网页数据(开心网教你如何使用GET方法应该算是最简单,最好操作的
)
为了简单实现,其他请求信息,如HEAD中的用户浏览器信息,将不附加。
一、使用GET方法
使用 GET 方法应该被认为是最简单和最好的操作。以开心网的用户主页为例,URL统一为:.其中 xxxxxxxx 代表用户的用户 ID。在用户首页,GET方法中,当没有添加其他请求数据时,请求会被重定向到开心网的登录页面。
新建一个控制台,编写GET方法的代码如下:
因为你没有登录,所以可以看到输出页面是登录页面的HTML源码:
二、使用POST方式抓取页面
POST方法与GET方法类似,只是Method方法重置为“POST”,将要POST的数据编码为Byte[]格式,然后设置长度。在请求之前,首先获取HTTPWebRequest的请求流,写入POST数据,然后执行请求。示例如下:
注意:以上请找一个可以通过POST验证的URL进行抓取。
注意POST的时候一定要加上以下代码,否则服务器将无法获取到POST数据
req.ContentType="application/x-www-form-urlencoded";
三、爬取所需的登录页面
其实不管是通过SESSION认证还是通过COOKIE认证,都必须使用请求中相关COOKIE的值。要获取cookie值,必须先用浏览器登录,然后查看登录时必须使用的cookie。比如没有ID的开心网个人主页。爬行。
如果不添加COOKIE,则捕获的HTML是重定向的HTML,即登录页面的HTML。示例代码如下:
由于COOKIE涉及个人隐私,对COOKIE的字符进行了修改。如果有朋友需要使用,请自行登录,登录后查找COOKIE的价值。
运行界面如下: