Jumony快速抓取網頁 --- Jumony使用筆記--icode
阿新 • • 發佈:2018-12-27
剛剛在部落格園 看到一篇博文《使用HttpWebRequest和HtmlAgilityPack抓取網頁(拒絕亂碼,拒絕正則表示式)》 ,感覺不錯,作者寫的也挺好的,然後在看了園子裡的朋友的評論後,我知道了有一個更牛x的工具——Jumony 。這個工具用起來可謂稱之為簡單、高效。 特此記錄和分享,Jumony 的使用方法。
Jumony是開源專案,目前原始碼存放咋GitHub ,原始碼地址: https://github.com/Ivony/Jumony 。我測試使用的是Visual Studio 2012 ,測試網頁為部落格園。
下面介紹使用方法:
一、在新建專案後,需要將Jumony
二、新增引用之後,即可寫專案程式碼。(此處程式碼為獲取 部落格園首頁文章內容)
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}、 <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快速開發的程式碼如下(在百度雲盤,請自行下載:): 謝謝!
效果圖: