iT邦幫忙

2026 iThome 鐵人賽

DAY 11
0
Software Development

Web API:從零開始探索公開 API 與資料應用系列 第 16 篇

Day 16|比較不同關鍵字的電影 API 查詢結果

  • 分享至 

  • xImage
  •  

一、前言

昨天使用電影 API 分別搜尋了Harry Potter、Harry和Potter,
可以發現即使使用的是同一個 API,搜尋的關鍵字不同,最後得到的結果也會有所不同。

今天要把這三次查詢得到的資料放在一起比較,
看看不同的搜尋結果中到底有哪些差異。

⸻

二、先比較搜尋到的節目

首先是比較不意外的名稱的部分
三者搜尋出來的名字都是輸入時的名字

搜尋Harry Potter
得到的結果名稱:
Harry Potter

搜尋Harry
得到的結果名稱:
Harry

搜尋Potter
得到的結果名稱:
Potter

從這裡可以看到,
API會根據我們輸入的搜尋內容,找到相對應的節目。
雖然三個搜尋詞都有部分文字相同,
但 API 回傳的資料並不是完全一樣。

⸻

**三、比較節目的基本資料

接著可以進一步比較三個結果裡面的資料

  1. Harry Potter
    搜尋 Harry Potter 得到的資料中可以看到
  • name:Harry Potter
  • type:Scripted
  • language:English
  • genres:Fantasy、Supernatural
  • status:In Development
  • runtime:60
  • premiered:2026-12-25
    其中可以發現這筆資料的 status 是 In Development,代表這個節目目前處於開發中的狀態。
  1. Harry
    搜尋 Harry 後,
    找到的結果則是另一個名稱為 Harry 的節目。
    可以看到
  • name:Harry
  • type:Scripted
  • language:English
  • genres:Drama
  • status:Ended
  • runtime:50
  • premiered:1993-09-18
  • ended:1995-04-12
    和上一個結果相比,
    這筆資料的類型、狀態、播放時間和首播日期都不一樣。
  1. Potter
    最後搜尋 Potter,得到的結果名稱是 Potter。
    可以看到
  • name:Potter
  • type:Scripted
  • language:English
  • genres:Comedy
  • status:Ended
  • runtime:30
  • premiered:1979-03-01
  • ended:1983-08-28
    這筆資料和前面兩個結果又不一樣,
    例如它的 genres 是 Comedy,
    runtime 則是 30 分鐘。

⸻

四、結果比較

從表格可以發現,
雖然三次搜尋的關鍵字彼此有關,
但查詢結果其實可以是完全不同的節目。

例如搜尋 Harry,
並不代表一定只會找到 Harry Potter
搜尋 Potter 也可能找到其他名稱包含 Potter 的節目。

⸻

五、從這次比較發現什麼?

這次比較後,我覺得最有趣的是,
原本只是改變搜尋框裡的幾個字,
最後得到的資料卻可以差很多。
三個結果的節目名稱、類型、狀態、播放時間和首播日期都不完全相同,

另外也可以看到,
同樣都是 Scripted、English,
其他資料仍然可能完全不同。

這代表 API 回傳的資料並不是只有「搜尋到或沒搜尋到」這麼簡單,
而是會提供一整筆和搜尋結果相關的資料。

這些資料之後也可以再進一步拿來分析。

⸻

六、總結

今天把 Harry Potter、Harry 和 Potter 三次搜尋結果放在一起比較後,可以更清楚看到不同搜尋條件所帶來的差異。

三個搜尋結果不只是名稱不同,連 genres、status、runtime 和 premiered 等資料也都有差異。

前面只是先觀察這些資料,下一篇就可以進一步把 JSON 拆開來看,了解這些資料到底是怎麼被一層一層整理起來的。


上一篇
Day 15|使用不同關鍵字查詢電影 API
下一篇
Day 17|電影 API 的 JSON 結構
系列文
Web API:從零開始探索公開 API 與資料應用 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言