Wednesday, March 31, 2010

Web Parser

以前沒寫過,也沒去想過一個撈資料的工具該怎麼運作。這兩天閒著(其實已經閒了快一個月惹=    = ),不如花點時間研究一下,也找到一個算是有用的輔助工具,分享一下。
> HTML Agility Pack:簡單好用的快速 HTML Parser

開始前稍微瞭解了一下最基本的原理。
  1. 跟我猜想的一樣,利用HTML tag。 如果網頁寫的好、夠結構化,那撈資料的作業也比較好進行。遺憾的是,HTML就是可以不嚴謹,標籤不一定成對,只能祈求還能從中找到一些規律了XD
  2. 第1點用的是比字串的方法,據說效能不好(因為還沒大量撈資料,我實在感覺不出來=   =)。另一個方法是利用Regular Expression。 但是這對剛入門的人來說實在是... 門檻相當高,想要寫出一個可用的regular expression,還必須先好好了解每個符號的意義。而且就我這次的經驗(撈一層包一層的HTML tags),似乎派不上用場。
第一次寫web parser,對像是PTT WebBBS,他單篇文章的HTML架構還滿簡潔的,簡單到... 反而讓人困擾XDD,要將表頭(作者、標題、時間)、內文、推文分開還比較難,因為他們全部放在一組div裡,就沒其他tag了XDD。

文章列表就比較有挑戰性一點,不過這個挑戰用上面推薦的HTML Agility Pack就搞定了XD

因為parser這東西是針對不同網站,解析的寫法就完全不同,應該說是完全客製化了吧,所以,就不介紹code的部分了~ 沒事可以玩玩,還滿有趣的 =D

Comments

0 Responses to "Web Parser"

Post a Comment

Tags