بناء أداة تلخيص تلقائي للمقالات (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:
...

تابع القراءة

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

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

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