איסוף תוכן מעשרות מקורות ידנית לוקח שעות של העתקה, בדיקת כפילויות ומיון. אגרגטור תוכן אוטומטי פותר זאת: הוא מנתח RSS ו-API, מסנן כפילויות, מקטלג ומציג פיד מותאם אישית. אנו מתכננים ומיישמים צינור נתונים כזה עבור הפרויקט שלך — מהארכיטקטורה ועד לפריסה. במהלך השנים השקנו יותר מ-10 אגרגטורים עבור פורטלי מדיה וארגונים, והפחתנו את איסוף התוכן הידני ב-80%. חיסכון בתקציב מגיע ל-60% הודות לאוטומציה.
פרויקט טיפוסי כולל 30–50 הזנות RSS, 5–10 מקורות API, ומספר אתרים לגרידת נתונים. כל מקור דורש מתאם נפרד עם טיפול במגבלות קצב ושגיאות. אנו משתמשים בתורי משימות של Bull על Redis, המאפשרים עיבוד מקבילי של עד 100 מקורות ללא אובדן נתונים. במקרה של כשל, משימה מנוסה אוטומטית עם השהיה אקספוננציאלית עד 3 פעמים. ניטור דרך Grafana עוקב אחר אחוז ההצלחה של כל מקור.
סכימת צינור הנתונים
| שלב | כלי | תיאור |
|---|---|---|
| מתזמן | cron | מפעיל איסוף בלוח זמנים כל N דקות |
| מביא נתונים | Bull/BullMQ | תור משימות לכל מקור עם ניסיונות חוזרים |
| מנתח | rss-parser, Cheerio, Playwright | חילוץ נתונים מ-RSS, HTML, SPA |
| מנרמל | קוד מותאם | מיפוי שדות לפורמט אחיד |
| מסנן כפילויות | SimHash, MinHash | זיהוי כפילויות מדויקות וכמעט מדויקות |
| אחסון | PostgreSQL | אחסון ראשי |
| מאינדקס | Elasticsearch / Meilisearch | חיפוש טקסט מלא וסינון |
למה סינון כפילויות הוא קריטי
כפילויות מופיעות כאשר אותו סיפור מתפרסם על ידי מספר מקורות. אנו מיישמים שלוש שיטות:
| שיטה | עיקרון | יעילות |
|---|---|---|
| התאמת URL מדויקת | בדיקת ייחודיות של URL | רק URLs זהים |
| גיבוב כותרת | גיבוב של כותרת מנורמלת | כותרות זהות |
| SimHash / MinHash | זיהוי כמעט כפול מקורב | טקסטים דומים (סף ניתן להגדרה) |
SimHash יעיל פי 3 מגיבוב מדויק לזיהוי טקסטים דומים, ומפחית תוצאות שגויות ל-5%. עם כוונון נכון, סינון הכפילויות מסנן 95% מהכפילויות. עבור פרויקט מדיה אחד עם 50 הזנות RSS ו-10 מקורות API, הקמנו צינור נתונים שמעבד 500 מאמרים ביום, וצמצם את העבודה הידנית מ-4 שעות ל-15 דקות. מידע נוסף על SimHash.
from simhash import Simhash
def is_duplicate(text1: str, text2: str, threshold: int = 5) -> bool:
h1, h2 = Simhash(text1.split()), Simhash(text2.split())
return h1.distance(h2) < threshold
באילו כלי ניתוח אנו משתמשים?
ניתוח RSS הוא פשוט. האתגר הוא חילוץ טקסט נקי בעת גרידת נתונים:
- Readability (Mozilla) – מסיר ניווט ופרסומות;
- Trafilatura (Python) – מחלץ טקסט עם זיהוי שפה;
- Playwright – עבור SPA הדורשים רינדור JavaScript מלא.
כל מתאם לוקח 1–2 ימים להקמה, כולל טיפול בשגיאות ומגבלות קצב. מהירות הניתוח מגיעה ל-10 מאמרים בשנייה לכל מתאם. תיעוד Readability: Readability.
קיטלוג ותיוג
סיווג אוטומטי לפי נושא:
- התאמת מילות מפתח: כללים כמו "שקל" → "פיננסים";
- סיווג ML: מבוסס fastText או BERT לתיוג רב-תגיתי. דיוק ML מגיע ל-90% על נתונים מסומנים. עיבוד 1000 מאמרים בדקה הוא מהירות ריאלית עבור fastText.
זיהוי שפה: from simhash import Simhash def is_duplicate(text1: str, text2: str, threshold: int = 5) -> bool: h1, h2 = Simhash(text1.split()), Simhash(text2.split()) return h1.distance(h2) < threshold (Python) או langdetect (Node.js).
איך פועלת התאמה אישית של הפיד
המשתמש מנהל מסננים:
- מקורות וקטגוריות מופעלים/מושבתים;
- מינויים למילות מפתח;
- מילות מפתח שליליות להחרגת נושאים.
אופציונלית, דירוג אלגוריתמי: סינון שיתופי המבוסס על היסטוריית קריאה של משתמשים דומים. זה מגביר מעורבות ב-30% לפי הנתונים שלנו.
עמידה בדיני זכויות יוצרים
האגרגטור מציג רק תצוגות מקדימות (פסקת פתיחה + קישור), מכבד franc ומגבלות קצב. מודל השימוש ההוגן מאפשר קטעים קצרים אך לא פרסום מחדש מלא. אנו תמיד נותנים קרדיט למקור ולכותב.
מה כלול בעבודה
- ניתוח מקורות ועיצוב ארכיטקטורה;
- יישום צינור נתונים: ניתוח → נרמול → סינון כפילויות → אחסון → אספקה;
- הקמת אינדוקס ב-Elasticsearch/Meilisearch;
- קיטלוג (כללים או ML);
- התאמה אישית (מסננים ודירוג);
- תיעוד API ופאנל ניהול;
- בדיקות ובדיקות עומס;
- פריסה עם ניטור (Grafana, Sentry).
לוח זמנים
| שלב | משך |
|---|---|
| MVP (10–20 RSS, פיד, חיפוש, קטגוריות) | 4–6 שבועות |
| סט תכונות מלא (ML, גרידת נתונים, התאמה אישית, API) | 3–5 חודשים |
העלות נקבעת באופן אישי לאחר ביקורת. הזמינו ביקורת על המקורות שלכם — נעריך תוך יום אחד. אנו מבטיחים עמידה בלוחות זמנים וסודיות. הצוות שלנו השיק יותר מ-10 אגרגטורים. צרו קשר כדי לדון בפרויקט שלכם.







