分身伐樹

A 4-post collection

已匯入:新竹縣政府

  • 匯入:https://sheethub.com/data.hsinchu.gov.tw
  • 網址:新竹縣政府
  • 網站分析:
    • 扣分:網頁上的 JSON、CSV 按鈕所導向的 API 頁面沒有辦法直接用程式讀取,會出現錯誤: CERT_UNTRUSTE。需要把頁面上 API 網址的 https 改成 http,頁面居然會出現下列程式碼,然後伺服器才會將使用者導入到 https。但因為頁面的 http 的加密強度不夠,導致 node.js 的 request 會因為安全性問題沒有辦法讀取網頁。需要加上 "rejectUnauthorized": false
Continue reading...

已匯入:新北市政府

  • 匯入:https://sheethub.com/data.ntpc.gov.tw
  • 網址:新北市政府
  • 網站分析:
    • 扣分:每一個的資料表頭不太一致,有一些有「五星」,有一些沒有。雖然把空的資料隱藏起來對人比較好閱讀,但對機器來講,必須要把所有的資料遍歷,收集所有的表頭。
      • 扣分:每一個資料網址是一串 68FFE0C1-B157-4AE8-A5BB-189D2361FC70# hash過的網址,並非有意義的流水號或分類。在爬的時候,需要先產生所有的連結,在一次性下載。
    • 扣分:有一些資料連結到(公務員?)的 C 槽中。
    • 這一個網站 formData 只要有 columns 缺少,
Continue reading...

已匯入:客家委員會

  • 匯入:https://sheethub.com/data.hakka.gov.tw
  • 網址:客家委員會
  • 網站分析:
    • 扣分:資料目錄、資料分類頁面沒有 unique url,所以必須用 header 去換頁
    • 扣分:每一個資料網址是一串 68FFE0C1-B157-4AE8-A5BB-189D2361FC70# hash 過的網址,並非有意義的流水號或分類。在爬的時候,需要先產生所有的連結,在一次性下載
    • 加分:提供表頭 餐廳名稱:restaurant 電話:tel 住址:address
    • 很多頁面只是 .pdf 或著是把另一個網站的連結放過來而已:公務統計預算書
Continue reading...

如何把所有開放資料都爬下來?

純粹從一個技術的角度,如何把所有的開放資料爬下來?假如先考慮台灣好了。

  • 連同前幾天成立的立法院開放資料,台灣共有 17 個開放資料平台,並持續成長中:(中央)政府平台、農業、文化、環境、食品藥物、內政、客家、臺北、新北、新竹、臺中、南投、臺南、宜蘭、高雄、金門。
  • 每一個來源,會有不同的資料介接 API 介接格式。另外,每一個來源對於描述自己的資料集都可能有一些系統慣性,想像是 A 平台都是使用 100/12/12 來儲存日期,但 B 平台是用 2011/
Continue reading...