通过HtmlAgilityPack实现网页信息抓取
2012-10-24 14:23
387 查看
1. 下载Html Agility Pack,解压保存到本地 下载地址: http://htmlagilitypack.codeplex.com/
void caijisoufun() { try { HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); String str = "http://esf.wuxi.soufun.com/agent/agent/AloneHouseList.aspx?agentid=160148311&housetype=esf&price=&roomtype=&district=&page=1"; String htmlstr = fhttp2(str);//获取html页面的源文件 doc.LoadHtml(htmlstr); HtmlNode navNode = doc.GetElementbyId("right");//获取id为right的节点 //print(navNode.InnerHtml); HtmlNodeCollection categoryNodeList = navNode.SelectNodes("//div[1]/table/tr[1]/td[1]/a[1]"); //分析html结构 HtmlNode temp = null; foreach (HtmlNode categoryNode in categoryNodeList) { temp = HtmlNode.CreateNode(categoryNode.OuterHtml); String url = "http://esf.wuxi.soufun.com" + temp.Attributes["href"].Value; println(url);//其实就是个Response.Write String showstr = fhttp2(url); HtmlAgilityPack.HtmlDocument doc2 = new HtmlAgilityPack.HtmlDocument(); doc2.LoadHtml(showstr); HtmlNode cnode = doc2.GetElementbyId("wrap"); HtmlNode title = cnode.SelectSingleNode("//div[2]/div[1]/h1[1]/font[1]"); println(title.InnerText);// //这里就可以做很多事情了,包括楼盘户型全部可以通过抓取获得信息,导入自己的数据库。 flush(); sleep(10); //println(temp.Attributes["href"].Value); } } catch (Exception ex) { println(ex); } } String fhttp2(String url) { try { WebRequest rGet = WebRequest.Create(url); WebResponse rSet = rGet.GetResponse(); Stream s = rSet.GetResponseStream(); StreamReader sr = new StreamReader(s, Encoding.GetEncoding("GB2312")); StringBuilder sb = new StringBuilder(); String Str; while ((Str = sr.ReadLine()) != null) { sb.Append(Str + "\n"); } sr.Close(); s.Close(); rSet.Close(); return tostr(sb); } catch (Exception e) { return ""; } }
相关文章推荐
- 通过HtmlAgilityPack实现网页信息抓取
- 【工作笔记0006】C#调用HtmlAgilityPack类库实现网页数据抓取
- HtmlAgilityPack 抓取网页信息
- C# 使用HtmlAgilityPack抓取网页信息
- 使用HtmlAgilityPack实现对网页内容的抓取
- 【.NET】使用HtmlAgilityPack抓取网页数据
- C#实现通过程序自动抓取远程Web网页信息
- 【.NET】使用HtmlAgilityPack抓取网页数据
- 【.NET】使用HtmlAgilityPack抓取网页数据
- C#实现通过程序自动抓取远程Web网页信息的代码
- 使用HttpWebRequest和HtmlAgilityPack抓取网页(拒绝乱码,拒绝正则表达式)
- 网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp)
- 使用HttpWebRequest和HtmlAgilityPack抓取网页(拒绝乱码,拒绝正则表达式)
- 使用HtmlAgilityPack实现简单的博客园主页内容抓取(2014-03-31)
- 真正解决HtmlAgilityPack抓取网页 中文乱码问题
- C#实现通过程序自动抓取远程Web网页信息
- 使用HtmlAgilityPack XPath 表达式抓取博客园数据的实现代码
- C#实现通过程序自动抓取远程Web网页信息(转载)
- HtmlAgilityPack.dll网页抓取数据
- 使用HtmlAgilityPack抓取网页数据