0Pricing
Learn AI with Python · درس

العمل مع واجهات برمجة التطبيقات للبيانات العامة

OpenWeatherMap وWikipedia وواجهات برمجة التطبيقات الحكومية العامة — أمثلة عملية لجمع البيانات.

العمل مع واجهات برمجة التطبيقات للبيانات العامة درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

التدرب باستخدام واجهات برمجة التطبيقات العامة

أفضل طريقة لتعلم جمع البيانات هي التعامل مع واجهات برمجة التطبيقات الحقيقية. يستخدم هذا الدرس ثلاث واجهات سهلة الاستخدام:

  • JSONPlaceholder — واجهة REST وهمية للتدرب، ولا تحتاج إلى مفتاح
  • OpenWeatherMap — بيانات طقس حقيقية، مع مفتاح API مجاني
  • 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 يعرّف بعميلك
  • خزّن النتائج مؤقتًا حتى لا تعيد جلب البيانات نفسها
  • انتظر بين الطلبات والتزم بحدود المعدل
  • اقرأ شروط استخدام كل واجهة برمجة تطبيقات واتبعها

تحقق سريع: واجهة برمجة التطبيقات التدريبية

تريد اختبار التعليمات البرمجية الخاصة بإرسال الطلبات وتحليل الاستجابات من دون التسجيل للحصول على مفتاح API.

مراجعة: واجهات برمجة التطبيقات للبيانات العامة

تدرّبت على جمع البيانات من واجهات برمجة تطبيقات حقيقية:

  • JSONPlaceholder للتدرب من دون مصادقة
  • OpenWeatherMap باستخدام معاملات q وappid وunits، ومفتاح مأخوذ من البيئة
  • Wikipedia API للبحث ومقتطفات المقالات
  • سير العمل من الجلب إلى DataFrame، وكيفية التعمق داخل JSON المتداخل
  • ممارسات الاستخدام المسؤول: User-Agent، والتخزين المؤقت، وحدود المعدل، وشروط الاستخدام

بهذا تكتمل أساسيات جمع البيانات. التالي: التعبيرات النمطية للذكاء الاصطناعي النصي.

الأسئلة الشائعة

هل درس «العمل مع واجهات برمجة التطبيقات للبيانات العامة» مجاني؟

نعم — نص درس «العمل مع واجهات برمجة التطبيقات للبيانات العامة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

ماذا ستتعلم في «العمل مع واجهات برمجة التطبيقات للبيانات العامة»؟

OpenWeatherMap وWikipedia وواجهات برمجة التطبيقات الحكومية العامة — أمثلة عملية لجمع البيانات. تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟

لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «العمل مع واجهات برمجة التطبيقات للبيانات العامة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟

نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات REST API لجمع البيانات
  2. تقسيم الصفحات وجمع مجموعات البيانات الكبيرة
  3. تخزين البيانات المُجمعة بكفاءة
  4. العمل مع واجهات برمجة التطبيقات للبيانات العامة
← العودة إلى Learn AI with Python