Java 執行 html GET - 以 Google News API 為例

Chao-Hsuan Ke
小小實驗室
Published in
3 min readMar 4, 2020

用 Java 執行 GET 來取得 html 上的資料蠻常用在 API 的介接,例如對方提供了 API 位址,只要用 GET 的方式就可以取回資料。

在不需要 ssh 時候的 GET 則只要幾行指令就好,非常的簡單又方便。這邊就用擷取 Google News 所提供的 API 來當作示範,看看到底有多簡單。

使用 Google News 的 API 前先要取得 apiKey,直接連到 https://newsapi.org 點選右上角的「Get API Key」,之後再輸入 email 和 密碼就可以。

Request

取得 key 之後,就可以來看 Google News API 可以丟什麼 request 進去,在介紹頁裡面寫的蠻清楚的。例如語系、時間範圍、新聞種類,甚至回傳分頁數量等也都可以直接掛上 API 做呼叫。

最基本的呼叫方式為標準網址再掛上 apiKey 即可

http://newsapi.org/v2/top-headlines?apiKey={apiKey}

依據介紹頁上的說明,如果我們想看國家為台灣、種類為健康類型的新聞,那就只要在網址上加上其他 property 就好

http://newsapi.org/v2/top-headlines?country={country}&category={category}&apiKey={apiKey}

Response

要確認有沒有接收成功,可以直接看 response 回來的 status,若有正確回傳則是 true,可以直接先判斷這個就好,後面會掛著總共回傳多少數量的 totalResults ,以及傳回的文章,並用陣列儲存在 articles 內。

知道該怎麼填入完整的 request URL 後,再 GET 的語法,就可以快速抓回資料,先用 java.net.HttpURLConnection 連結要 GET 的網址,再用 BufferedReader 抓回 response 就一切大功告成。收工 !!

--

--

Chao-Hsuan Ke
小小實驗室

永遠熱愛自己的工作,總是找一堆事把自己的時間塞滿。喜歡接觸不同領域,像是 歷史、文化、金融和公共政策 等議題,期許著自己會什麼就分享什麼。