0Pricing
Learn AI with Python · บทเรียน

การใช้งาน API ข้อมูลสาธารณะ

OpenWeatherMap, Wikipedia และ API ภาครัฐแบบสาธารณะ — ตัวอย่างการรวบรวมข้อมูลเชิงปฏิบัติ

การใช้งาน API ข้อมูลสาธารณะ เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

ฝึกปฏิบัติกับส่วนติดต่อข้อมูลสาธารณะ

วิธีที่ดีที่สุดในการเรียนรู้การรวบรวมข้อมูลคือการเรียกใช้ส่วนติดต่อจริง บทเรียนนี้ใช้บริการที่ใช้งานง่ายสามบริการ:

  • JSONPlaceholder — ส่วนติดต่อแบบ REST จำลองสำหรับฝึกฝน ไม่ต้องใช้คีย์
  • OpenWeatherMap — ข้อมูลสภาพอากาศจริง ใช้คีย์ส่วนติดต่อฟรี
  • Wikipedia API — เนื้อหาบทความและการค้นหา

JSONPlaceholder สำหรับฝึกปฏิบัติ

JSONPlaceholder ให้บริการโพสต์ ผู้ใช้ และความคิดเห็นจำลองโดยไม่ต้องยืนยันตัวตน จึงเหมาะอย่างยิ่งสำหรับทดสอบโค้ดเรียกใช้และแยกวิเคราะห์คำขอของคุณ

import requests

resp = requests.get("https://jsonplaceholder.typicode.com/posts", timeout=10)
resp.raise_for_status()
posts = resp.json()
print(len(posts), "posts")
print(posts[0]["title"])

เวิร์กโฟลว์จากการตอบกลับสู่ DataFrame

เวิร์กโฟลว์มาตรฐานคือ ดึงข้อมูล JSON แล้วโหลดลงใน DataFrame โดยตรงเพื่อวิเคราะห์

import pandas as pd

posts = requests.get("https://jsonplaceholder.typicode.com/posts", timeout=10).json()
df = pd.DataFrame(posts)
print(df.head())
print(df["userId"].value_counts())

OpenWeatherMap — การรับคีย์

OpenWeatherMap ต้องใช้คีย์ APIฟรีที่ส่งผ่านเป็นพารามิเตอร์ appid อย่าใส่คีย์ไว้ในโค้ด ให้ดึงคีย์จากตัวแปรสภาพแวดล้อม

import os

API_KEY = os.environ["OWM_API_KEY"]   # set OWM_API_KEY in your shell

OpenWeatherMap — พารามิเตอร์คำค้น

จุดปลายทางสภาพอากาศปัจจุบันรับ q (เมือง), appid (คีย์) และ units (เมตริก/อิมพีเรียล)

import requests, os

params = {
    "q": "Istanbul",
    "appid": os.environ["OWM_API_KEY"],
    "units": "metric",
}
resp = requests.get("https://api.openweathermap.org/data/2.5/weather", params=params, timeout=10)
resp.raise_for_status()
data = resp.json()

การดึงช่องข้อมูล JSON ที่ซ้อนกัน

การตอบกลับจากส่วนติดต่อจริงมักซ้อนกันหลายชั้น ให้เจาะเข้าไปด้วยคีย์ที่ต่อกัน และใช้ .get() พร้อมค่าเริ่มต้นสำหรับช่องข้อมูลที่อาจไม่มีอยู่

temp = data["main"]["temp"]
humidity = data["main"]["humidity"]
desc = data["weather"][0]["description"]
print(f"{temp} C, {humidity}% humidity, {desc}")

การรวบรวมข้อมูลสภาพอากาศจากหลายเมือง

วนซ้ำผ่านรายชื่อเมือง แผ่ช่องข้อมูลที่ต้องการให้อยู่ในรายการของพจนานุกรม แล้วสร้าง DataFrame

cities = ["Istanbul", "London", "Tokyo"]
rows = []
for c in cities:
    p = {"q": c, "appid": os.environ["OWM_API_KEY"], "units": "metric"}
    d = requests.get("https://api.openweathermap.org/data/2.5/weather", params=p, timeout=10).json()
    rows.append({"city": c, "temp": d["main"]["temp"], "desc": d["weather"][0]["description"]})
import pandas as pd
df = pd.DataFrame(rows)

ส่วนติดต่อ Wikipedia API

Wikipedia API เปิดให้ค้นหาและเข้าถึงเนื้อหาบทความ โดยต้องระบุ action และ format=json รวมถึงส่วนหัว User-Agent ที่อธิบายโปรแกรมได้ชัดเจน

params = {
    "action": "query",
    "list": "search",
    "srsearch": "machine learning",
    "format": "json",
}
headers = {"User-Agent": "data-collector/1.0 (you@example.com)"}
resp = requests.get("https://en.wikipedia.org/w/api.php", params=params, headers=headers, timeout=10)
results = resp.json()["query"]["search"]

การดึงข้อความคัดย่อของบทความ

ใช้ prop=extracts ร่วมกับ exintro=True เพื่อดึงย่อหน้าเกริ่นนำของบทความ ซึ่งมีประโยชน์สำหรับสร้างชุดข้อมูลข้อความ

params = {
    "action": "query",
    "prop": "extracts",
    "exintro": True,
    "explaintext": True,
    "titles": "Artificial intelligence",
    "format": "json",
}
resp = requests.get("https://en.wikipedia.org/w/api.php", params=params, timeout=10)
pages = resp.json()["query"]["pages"]
for pid, page in pages.items():
    print(page["extract"][:300])

การอ่านเอกสารของส่วนติดต่อข้อมูล

ส่วนติดต่อแต่ละแห่งมีรายละเอียดแตกต่างกัน ก่อนเขียนโค้ด ให้ศึกษาเอกสารเกี่ยวกับ URL พื้นฐาน พารามิเตอร์ที่จำเป็น วิธีการยืนยันตัวตน รูปแบบการตอบกลับ และขีดจำกัดอัตราการเรียกใช้

ทดสอบคำขอหนึ่งรายการแบบโต้ตอบ ตรวจสอบ resp.json() แล้วสร้างลูปรอบโครงสร้างจริง

การใช้ส่วนติดต่อข้อมูลอย่างมีความรับผิดชอบ

ส่วนติดต่อข้อมูลสาธารณะเป็นทรัพยากรที่ใช้ร่วมกัน โปรดใช้งานอย่างเคารพผู้อื่น:

  • ส่ง User-Agent ที่ระบุโปรแกรมของคุณ
  • แคชผลลัพธ์ เพื่อไม่ต้องดึงข้อมูลเดิมซ้ำ
  • เว้นช่วงระหว่างคำขอ และปฏิบัติตามขีดจำกัดอัตราการเรียกใช้
  • อ่านและปฏิบัติตามข้อกำหนดการใช้งานของส่วนติดต่อแต่ละแห่ง

ตรวจสอบด่วน: ส่วนติดต่อสำหรับฝึกปฏิบัติ

คุณต้องการทดสอบโค้ดเรียกใช้และแยกวิเคราะห์คำขอ โดยไม่ต้องสมัครรับคีย์ส่วนติดต่อ

ทบทวน: ส่วนติดต่อข้อมูลสาธารณะ

คุณได้ฝึกการรวบรวมข้อมูลจากส่วนติดต่อจริงแล้ว:

  • JSONPlaceholder สำหรับฝึกฝนโดยไม่ต้องยืนยันตัวตน
  • OpenWeatherMap โดยใช้พารามิเตอร์ q, appid, units และคีย์จากสภาพแวดล้อม
  • Wikipedia API สำหรับค้นหาและดึงข้อความคัดย่อของบทความ
  • เวิร์กโฟลว์จากการดึงข้อมูลสู่ DataFrame และวิธีเจาะเข้าไปใน JSON ที่ซ้อนกัน
  • แนวทางการใช้งานอย่างมีความรับผิดชอบ: User-Agent การแคช ขีดจำกัดอัตราการเรียกใช้ และข้อกำหนดการใช้งาน

การรวบรวมข้อมูลเสร็จสมบูรณ์แล้ว ถัดไป: นิพจน์ทั่วไปสำหรับปัญญาประดิษฐ์ด้านข้อความ

คำถามที่พบบ่อย

บทเรียน “การใช้งาน API ข้อมูลสาธารณะ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การใช้งาน API ข้อมูลสาธารณะ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การใช้งาน API ข้อมูลสาธารณะ”

OpenWeatherMap, Wikipedia และ API ภาครัฐแบบสาธารณะ — ตัวอย่างการรวบรวมข้อมูลเชิงปฏิบัติ คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การใช้งาน API ข้อมูลสาธารณะ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นฐาน REST API สำหรับรวบรวมข้อมูล
  2. การแบ่งหน้าและรวบรวมชุดข้อมูลขนาดใหญ่
  3. การจัดเก็บข้อมูลที่รวบรวมอย่างมีประสิทธิภาพ
  4. การใช้งาน API ข้อมูลสาธารณะ
← กลับไปที่ Learn AI with Python