使用HAP抓取HTML網頁內容實例

前言

最近有個任務需要把Functx XQuery Functions(http://www.xqueryfunctions.com/)上面所有的functx相關的function defintion全部down下來,存到本地文件中,這是個簡單的活兒,卻是個枯燥的活兒。鑑於本人對於枯燥乏味事情的極端厭惡,我準備編程來解析這些網頁。這篇帖子就準備記錄解決這個任務的過程。


正文

1、簡單的搜索了下我找到了HTML Agility Pack(http://htmlagilitypack.codeplex.com/),這邊有一篇中文繁體的tutorial:http://msdn.microsoft.com/zh-tw/ee787055.aspx

2、我剛開始學習使用HAP的時候,有個錯誤的理解認爲可以根據Chrome的“審查元素”功能來找到對應node的xpath,然後用doc.DocumentNode.SelectNodes方法來獲取到相應的node,事實證明這樣是不行的,關於爲什麼,這邊有篇很好的討論:http://stackoverflow.com/questions/15826875/html-agility-pack-using-xpath-to-get-a-single-node-object-reference-not-set

3、好吧,簡單來說這個任務我搞定了,詳細的源文件請見:https://github.com/edychang/mytoolkits/blob/master/applications/xquery_function_parser/FunctxParser/Program.cs

4、話說C#真的是相當NB啊,不看任何書的前提下兩天就能搞定一個C#程序說明這個語言學習曲線很平滑啊。

5、使用HAP的關鍵在於XPath的運用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章