1. 程式人生 > >Jumony快速抓取網頁 --- Jumony使用筆記--icode

Jumony快速抓取網頁 --- Jumony使用筆記--icode

  剛剛在部落格園 看到一篇博文《使用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快速開發的程式碼如下(在百度雲盤,請自行下載:):   謝謝!