程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Jumony快速抓取網頁

Jumony快速抓取網頁

編輯:C#入門知識


 

作者:郝喜路   個人主頁: http://www.cnicode.com       博客地址:http://haoxilu.cnblogs.com    時間:2014年6月26日 19:25:02


 

  剛剛在博客園 看到一篇博文《使用HttpWebRequest和HtmlAgilityPack抓取網頁(拒絕亂碼,拒絕正則表達式)》  ,感覺不錯,作者寫的也挺好的,然後在看了園子裡的朋友的評論後,我知道了有一個更牛x的工具——Jumony 。這個工具用起來可謂稱之為簡單、高效。 特此記錄和分享,Jumony 的使用方法。

  Jumony是開源項目,目前源代碼存放咋GitHub ,源碼地址: https://github.com/Ivony/Jumony 。我測試使用的是Visual Studio 2012 ,測試網頁為博客園。

  下面介紹使用方法:

  一、在新建項目後,需要將Jumony添加到項目中,你可以下載源碼使用,也可以在NugGet 中 搜索 Jumony Core 將其添加到項目中並且後自動添加所需的引用。

  二、添加引用之後,即可寫項目代碼。(此處代碼為獲取  博客園首頁文章內容)

  

 1  public string Html = string.Empty;//為將拼接好html字符串返回給前台代碼
 2         protected void Page_Load(object sender, EventArgs e)
 3         {
5 var htmlSource = new JumonyParser().LoadDocument("http://www.cnblogs.com").Find(".post_item a.titlelnk"); 6 int count = 0; 7 foreach (var htmlElement in htmlSource) 8 { 9 count ++; 10 Html += string.Format(" <li>{2}、&nbsp;&nbsp;<a href=\"About.aspx?Url={0}\" target=\"_blank\">{1}</a></li>", htmlElement.Attribute("href").Value(), htmlElement.InnerText(),count); 11 } 12 }

      效果圖:

       

   三、下面就是要在點擊上圖從博客園抓取的文章標題之後,在顯示博客全文(並非在打開博客園的文章)

    代碼:   

1   string html = Request["Url"];
2             var htmlSource =
3                 new JumonyParser().LoadDocument(html);
4             HtmlText = htmlSource.Find(".postTitle2").FirstOrDefault().InnerText();
5 
6             Html = htmlSource.Find("#cnblogs_post_body").FirstOrDefault().InnerHtml();



效果圖:
  到此,網頁抓取寫完了,沒有什麼深奧的道理,只是把他的使用方法簡單的把代碼貼出來了,還沒有研究其源碼,有時間需要深究一下。   Jumony更多的使用方式請參見博客 http://www.cnblogs.com/Ivony/p/3447536.html       本次演示Jumony快速開發的代碼如下(在百度雲盤,請自行下載:):     http://pan.baidu.com/s/1COuCI   謝謝!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved