在编写网络爬虫时,HttpWebRequest几乎可以完成绝大多数网站的抓取,为了更好的使用这一技术,我将常用的几个功能进行了封装,以方便调用。这个类已经在多个项目中得到使用,主要解决了Cookies相关的一些问题;如果有其它方面的问题可以提出来,我会进一步完善。
目前HttpHelper包含了以下几个方面:
- GetHttpContent:通过Get或Post来获取网页的Html
- SetCookie:根据response中头部的set-cookie对cookie进行设置,能识别httponly
- GetAllCookies:将CookieContainer转换为键值对,方便存储和跨程序间调用
- ConvertToCookieContainer:将键值对转换回CookieContainer供程序调用
- BuildPostData:通过一个需要post的html构建出postdata
代码如下:
1 | using System; |
部分网站需要登录的问题我已经着手通过另一个项目来解决(imitate-login),目前还有许多网页使用了JavaScript或各种基于JS的框架来对网页进行数据加载,如何来模拟执行JavaScript暂时还没找到比较优美的解决方案,如果大家有什么好的方案可以发给我,谢谢!
本文来自 The NewIdea,作者 Carey Tzou 。
永久地址:https://www.tnidea.com/http-helper-at-csharp.html
未经授权,拒绝任何全文及摘要转载!