抓取网页信息 网页保存为文本
读取网页特定位置的信息,比如数值和图片,如何实现?给出相应的类,提示一下吧
如果不能容易的读取信息,那么如何将网页保存为文本格式?
两个问题解决任何一个都行,谢啦!
[解决办法]
抓取博客园首页推荐文章:
HttpWebRequest httpWebRequest = WebRequest.Create(@"http://www.cnblogs.com") as HttpWebRequest; HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse; Stream stream = httpWebResponse.GetResponseStream(); StreamReader reader = new StreamReader(stream, Encoding.UTF8); string s = reader.ReadToEnd(); reader.Close(); stream.Close(); httpWebResponse.Close(); HtmlDocument htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(s); HtmlNodeCollection anchors = htmlDoc.DocumentNode.SelectNodes(@"//a[@class='titlelnk']"); foreach (HtmlNode anchor in anchors) Console.WritleLine(anchor.InnerHtml);
[解决办法]
a.下载网页数据;
b.处理网页得到想要的数据;
c.保存数据
对于a有三种方式
1.使用WebClient下载 2.使用HttpWebRequest和HttpWebResponse 3.使用WebBrowser
对于b
1.正则表达式匹配; 2.使用HtmlAgilityPack
对于c 按个人需求而定