بناء أداة تلخيص تلقائي للمقالات (RSS → Python → OpenAI → Notion) خطوة بخطوة | GateOfAI

Share:

📘 بناء أداة تلخيص تلقائي للمقالات (RSS → Python → OpenAI → Notion)

سننشئ أداة تُراقب أي RSS، تجمع الروابط الجديدة، تستخرج نص المقال، تُلخّصه باستخدام واجهة OpenAI، ثم تحفظ الملخّص تلقائيًا في قاعدة بيانات Notion. يمكنك تشغيلها يدويًا أو عبر جدولة/Zap.

💡 الفكرة

التصنيف: دروس الذكاء الاصطناعي — المستوى: مبتدئ/متوسط — المدة: 45–60 دقيقة

🧰 المتطلبات

  • حساب OpenAI ومفتاح API فعّال.
  • مساحة عمل Notion وقاعدة بيانات (Database) لحفظ الملخصات.
  • Python 3.10+ على جهازك.
  • رابط RSS لمصدر الأخبار/المدوّنة.
  • (اختياري) حساب Zapier لتشغيل الكود عند ورود عنصر RSS جديد.

🔧 الخطوة 1: فهم RSS واختيار المصدر

RSS صيغة معيارية لبث المحتوى المُحدّث (عناوين/ملخص/رابط). ستجد رابط RSS في كثير من المواقع أو عبر أيقونة RSS البرتقالية. سنستخدم الرابط كمدخل للأداة.

🗂️ الخطوة 2: تجهيز قاعدة بيانات في Notion

  1. أنشئ Database في Notion بعنوان مثل: AI Summaries.
  2. أضِف الخصائص التالية:
    • Title (عنوان الصفحة) — نوعه Title.
    • URL — نوعه URL.
    • Source — نص قصير.
    • Summary — نص طويل.
    • Published — تاريخ/وقت (اختياري).
  3. أنشئ تكامل Integration من Notion Developers، وامنحه صلاحية الوصول لقاعدة البيانات، واحتفظ بـ NOTION_TOKEN وDATABASE_ID. راجع مرجع الإنشاء عبر API إذا احتجت ضبطًا أدق.

🔐 الخطوة 3: حفظ المفاتيح كمتغيرات بيئية

# macOS/Linux
export OPENAI_API_KEY="ضع_المفتاح_هنا"
export NOTION_TOKEN="ضع_رمز_نوتشن"
export NOTION_DATABASE_ID="ضع_معرّف_القاعدة"

📦 الخطوة 4: تثبيت الحزم

pip install feedparser trafilatura requests python-dotenv

feedparser لقراءة RSS، وtrafilatura لاستخراج نص المقال من HTML، وrequests لإرسال الطلبات إلى Notion.

🤖 الخطوة 5: كود Python الكامل

ينفّذ: قراءة RSS → تنزيل نص المقال → تلخيص عبر OpenAI → إنشاء صفحة في Notion.

import os, time, feedparser, requests
from datetime import datetime
import trafilaturaOPENAI_API_KEY = os.environ["OPENAI_API_KEY"]
NOTION_TOKEN = os.environ["NOTION_TOKEN"]
NOTION_DB = os.environ["NOTION_DATABASE_ID"]RSS_URL = "https://example.com/feed"  # استبدلها بخلاصة RSS الخاصة بك# 1) قراءة RSS
feed = feedparser.parse(RSS_URL)
items = feed.entries[:5]  # جرّب على آخر 5 عناصرdef fetch_article_text(url: str) -> str:
downloaded = trafilatura.fetch_url(url, timeout=20)
return trafilatura.extract(downloaded) or ""def summarize(text: str, title: str) -> str:
...

تابع القراءة

سجل دخولك مجاناً لقراءة المقال كاملاً والوصول إلى أدوات الذكاء الاصطناعي.

تسجيل الدخول / إنشاء حساب

هل كان هذا الشرح مفيداً؟

مرشد بوابة الذكاء الاصطناعي
نشط للخدمة
مرحباً بك في بوابة الذكاء الاصطناعي! أنا مرشدك هنا لمساعدتك في فهم خدمات المنصة، باقات التشغيل وخطط الضمان المالي. كيف يمكنني إرشادك اليوم؟