Werden wir Helden für einen Tag

Home | About | Archive

Web scraping using R

Posted on Mar 14, 2012 by Chung-hong Chan

Data on CE nomination 的數據來源是政府憲報的 PDF 。但是此 PDF 有密碼保護,不能 copy and paste 文字出來。至於怎樣破解此 PDF 的密碼,由於可能是犯法的行為,就不詳細講,有興趣自行 Google 吧。
把密碼破解後,英文字可以抄出來,但是中文抄出來卻變成空格。用不同的轉碼 (Big5 < -> UTF-8, GB < -> UTF-8) 法都無法轉成中文字,懷疑是將中文字變成 path 了。於是把心一橫將 PDF 作 screen capture 用 OCR 把中文字認出來。
現在的數據明顯未是最好的樣子。
我想要的最終版本是有以下資料的
$eng.name = 選委英文名
$chi.name = 選委中文名
$sector = 選委界別
$candidate = 提名誰

有未完成數據的地方有兩個。一個是政府的新聞公佈,但是此網頁的 data 是 unstructured 的,很難 parse 。
另一個是選委選舉的網站。這個不錯,最少數據是在 HTML table 之內。用 R 的 XML library 可以 parse 有關的數據。
我用以下的 R code 將選委選舉結果抽出,並用 RegEx 作整理。經整理後的數據是這樣的。

Sourcecode: dataprocessing.R


Powered by Jekyll and profdr theme