Request API

有一天...

  1. BeautifulSoup4
  2. Selenium

💡 尋找在網頁上的位置耗時
💡 額外將抓下的資料結構化

  1. BeautifulSoup4
  2. Selenium
  3. Request API

找不到怎麼辦?

LINE 事實查核中心

import requests
# 直接在 URL 夾帶參數
full_url = "https://api-fact-checker.line-apps.com/pub/v1/zhtw/articles/..."
# get method
response = requests.get(full_url)
print(response.json())  # 輸出網頁內容
# 參數不夾帶在URL
base_url = "https://api-fact-checker.line-apps.com/pub/v1/zhtw/articles/verified/"
params = {"size": 9, "sort": "updatedAt", "loc": "home"}
response = requests.get(base_url, params=params)
print(response.json())

小試身手

台鐵列車時刻表

url = 'https://www.railway.gov.tw/tra-tip-web/tip/tip001/tip112/querybytime'
payload = {
    "csrf": "2cad25fc-a9c1-4852-b57e-b720a4259ef3",
    "startStation": "0900-基隆",
    "endStation": "1010-萬華",
    "transfer": "ONE",
    "rideDate": "2024/05/01",
    "startOrEndTime": "true",
    "startTime": "00:00",
    "endTime": "23:59",
    "trainTypeList": "ALL",
    "queryClassification": "NORMAL",
    "query": "查詢"
}
response = requests.post(url, data=payload)
print(response.text)

小試身手