לפי דו"ח 2025 State of Open Source, 96% מהארגונים הגדילו או לפחות שמרו על השימוש שלהם בקוד פתוח בשנה האחרונה — והסיבה מספר אחת עדיין היא "אין עלות רישוי". אבל הנה משהו שאף אחד לא מספר לכם כשאתם מורידים scraper מ-GitHub: "קוד פתוח" ו"בטוח לשימוש במוצר מסחרי" הם לא אותו הדבר.
השנה הקדשתי לא מעט זמן לסינון החשודים הרגילים — Scrapy, Playwright, Puppeteer, וגם סורקי AI חדשים יותר כמו Crawl4AI ו-ScrapeGraphAI — ומה שבאמת חשוב להחלטה עסקית כמעט אף פעם לא מופיע בסקירות הרגילות של "ה-scrapers הטובים ביותר": סוג הרישיון. רוב הרשימות מדרגות לפי כוכבי GitHub. אני מדרג לפי מה שקורה כשהצוות המשפטי שואל "רגע, זה AGPL?" הרשימה הזו מסדרת 12 כלים קודם לפי התאמה לקטגוריה (מנתחים, אוטומציית דפדפן, scrapers מבוססי AI, מסגרות crawl, הרחבות ללא קוד) ורק אחר כך לפי רישיון, כי כך בדיוק מתקבלות ההחלטות בפועל.
למה סוג הרישיון הוא המסנן הראשון לכל Web Scraper בקוד פתוח

"קוד פתוח" לא אומר "חופשי לעשות בו מה שרוצים". הגדרת הקוד הפתוח אוסרת במפורש אפליה נגד שימוש מסחרי — לכן כל כלי ברשימה הזו מותר לשימוש עסקי. אבל איך מותר להשתמש בו, ואילו חובות נכנסות לפעולה כשמשחררים מוצר, תלוי לחלוטין ברישיון הספציפי.
רישיונות מתירניים — MIT, BSD-3-Clause, Apache-2.0 — מאפשרים כמעט כל דבר, כל עוד משאירים את הודעת זכויות היוצרים צמודה. Apache-2.0 מוסיף גם מענק פטנט מפורש, וזה בדרך כלל הרישיון שעורכי דין אוהבים יותר מכל. אף אחד משלושת הרישיונות האלה לא מחייב אתכם לפרסם את קוד המקור שלכם.
רישיונות Copyleft הם סיפור אחר. AGPL-3.0 הוא זה שמכשיל הרבה אנשים, וזה בדיוק הרישיון שבו הליבה המתארחת-עצמית של Firecrawl משוחררת (ה-SDKs הן MIT, אבל מנוע ה-scraping המרכזי הוא AGPL). לפי סעיף 13 של AGPL-3.0, אם שיניתם את התוכנה הכפופה לרישיון ומאפשרים למשתמשים לתקשר עם הגרסה ששיניתם דרך הרשת, אתם חייבים להציע להם את קוד המקור המתאים. זה לא טריגר של "כל ה-SaaS הופך לקוד פתוח" כמו שלפעמים מתארים בפורומים — החובה מתייחסת ספציפית לתוכנה שעברה שינוי ומוצעת לאינטראקציה מרחוק. אבל זו כן שאלה משפטית אמיתית שדורשת ייעוץ מקצועי, לא שרשור ב-Stack Overflow, לפני שבונים עליה מוצר סגור.
ואז יש את הקטגוריה האפורה יותר של "open-core". Web Scraper, ההרחבה ל-Chrome, מחזיקה ב-GitHub מאגר היסטורי תחת LGPL-3.0 — אבל התיקון האחרון שם בוצע ב-2017, ואין מיפוי מאומת בין קוד המקור הישן הזה לבין ההרחבה שבחנות Chrome Web Store כיום (גרסה 1.111.13 נכון לכתיבת שורות אלה). הקריאה הכנה: ההרחבה המקומית חינמית, שכבת ה-Cloud עם תזמון והרצת פרוקסי היא מוצר קנייני נפרד, והצגה של כל החבילה כ"קוד פתוח" מטשטשת את ההפרדה הזו.
איך השווינו בין 12 כלי ה-Web Scraper בקוד פתוח הטובים ביותר
הערכתי כל כלי לפי שבעה ממדים: סוג הרישיון וחיכוך מול שימוש מסחרי, שפת עבודה/Runtime, תמיכה מקורית ברינדור JavaScript (לעומת צורך בשילוב plugin), עקומת למידה, עלות חבויה של חישוב או פרוקסי, סימני בריאות קהילתית (issues פתוחים, קצב שחרורים, commit אחרון), ותרחיש השימוש הטוב ביותר.
הרשימה מחולקת לפי קטגוריות — מנתחים סטטיים, מסגרות אוטומציית דפדפן, scrapers מבוססי AI, מסגרות crawl, ואז אותה הרחבת דפדפן אחת ללא קוד — ולא לפי מספר כוכבים בלבד. זו בחירה מכוונת. Beautiful Soup ו-Scrapy פותרים בעיות שונות לגמרי, למרות ששניהם פופולריים מאוד; דירוגם על אותו ציר לא באמת עוזר לבחור כלי.
| קריטריון | מה בדקתי |
|---|---|
| רישיון והתאמה מסחרית | רישיון המאגר המדויק, דרישות ייחוס, סעיפי copyleft/רשת |
| Runtime והתאמה לצוות | Python, Node/TypeScript, Java, או ריבוי שפות |
| רינדור JS | תמיכה בדפדפן מובנה מול צימוד plugin, או ללא תמיכה |
| היקף המסגרת | רק parser, דרייבר דפדפן, צינור crawl מלא, או מוצר מנוהל |
| בריאות קהילתית | כוכבי GitHub, תאריך שחרור אחרון, issues פתוחים, push אחרון |
| עלות חבויה | זיכרון דפדפן, צורך בפרוקסי, תלות ב-API של מודל, עומס תחזוקה |
| התאמה מיטבית | התאמה ספציפית לצוות/משימה, על בסיס יכולות או issues מתועדים |
הסתייגות כנה לגבי נתוני בריאות הקהילה: הפיתוח הקנוני של Beautiful Soup מתרחש ב-Launchpad, לא ב-GitHub, ולכן ספירת הכוכבים שלו ב-GitHub (מראה לא רשמי עם 223 כוכבים, ועדכון אחרון ב-2022) אינה ניתנת להשוואה ישירה לעשרת הכלים האחרים. אני מציין זאת במפורש בהמשך במקום להעמיד פנים שהוא משתלב נקי בטבלה.
ספריית הניתוח הסטטית הטובה ביותר לאתרים סטטיים: BeautifulSoup

BeautifulSoup היא ספריית Python לניווט וחיפוש בעצי ניתוח HTML/XML. היא לא מושכת דפים, לא מריצה JavaScript, ולא מנהלת תורי crawl — היא פשוט לוקחת markup שכבר יש לכם ומאפשרת לחפור בו עם API ידידותי. התחום המצומצם הזה הוא בדיוק העניין: זה הכלי שבו משתמשים כשכבר יש HTML ורק צריך לשלוף ממנו נתונים.
- רישיון: MIT — מתירני, בלי חובות מעבר לשמירת ההודעה
- עקומת למידה: ידידותית באמת למתחילים; מודל האובייקטים סלחני
- רינדור JS: אין תמיכה מובנית — צריך לצרף אליו כלי שמביא HTML מרונדר קודם
- מגבלה מוכרת: המסמכים הרשמיים מודים שהוא "לעולם לא יהיה מהיר כמו המנתחים שמתחתיו", ושמנועי parser שונים (lxml מול html5lib מול html.parser) יכולים לייצר עצים שונים באופן משמעותי עבור HTML פגום
מתאים במיוחד ל: סקריפטים פנימיים מהירים ושליפה חד-פעמית מ-HTML סטטי או HTML שכבר נטען — לא לסקייל, לא לאתרים כבדי JS.
מסגרת אוטומציית הדפדפן בקוד פתוח הטובה ביותר לבדיקות רב-דפדפניות מדור קודם: Selenium

Selenium הוא השם הוותיק ביותר ברשימה הזו, ונבנה במקור לבדיקות דפדפן ואז אומץ מחדש על ידי חצי מעולם ה-scraping. החוזקה המגדירה שלו היא לא מהירות — אלא טווח. ה-bindings הרשמיים של Selenium 4 מכסים Java, Python, C#, Ruby ו-JavaScript, והוא שולט ב-Chrome, Edge, Firefox ו-Safari דרך תקן W3C WebDriver.
- רישיון: Apache-2.0
- בריאות GitHub: 34,366 כוכבים, 98 issues פתוחים, 12 גרסאות יציבות בשנה האחרונה (האחרונה: 4.47.0)
- רינדור JS: מקורי, דרך דפדפן אמיתי
- חיכוך מתועד: התיעוד של Selenium עצמו מציין שסנכרון הוא "אחת הבעיות הנפוצות ביותר" — מוכנות המסמך לא מבטיחה שאלמנטים שנוספו ע"י JS מוכנים, ורענון דינמי של ה-DOM יזרוק
StaleElementReferenceException
מתאים במיוחד ל: צוותים שצריכים כיסוי רב-דפדפני או רב-שפתי, או כאלה שכבר משתמשים ב-Selenium ל-QA ורוצים למחזר את הידע גם ל-scraping.
מסגרת אוטומציית הדפדפן בקוד פתוח הטובה ביותר לאתרי JS מודרניים וכבדים: Playwright

Playwright, שמתוחזק על ידי Microsoft, הוא התשובה המודרנית ל"Selenium מרגיש איטי ומסורבל". הוא מפעיל Chromium, Firefox ו-WebKit באופן מקורי, עם בדיקות actionability שמחכות אוטומטית שהאלמנטים יהיו באמת מוכנים — גלויים, יציבים ומופעלים — לפני האינטראקציה איתם. ההתנהגות הזו לבדה חוסכת הרבה מה-boilerplate של WebDriverWait שמשתמשי Selenium כותבים ידנית.
הניואנס שהולך לאיבוד כמעט בכל דיון "Scrapy מול Playwright מול Selenium": ל-Scrapy אין בכלל רינדור JavaScript מובנה. הוא צריך plugin נפרד — scrapy-playwright — שמתחבר אליו כדי לקבל רינדור דפדפן. Playwright ו-Puppeteer מרנדרים מקומית כי הרינדור הוא המוצר.
- רישיון: Apache-2.0
- בריאות GitHub: 94,443 כוכבים, 15 גרסאות יציבות בשנה האחרונה (האחרונה: 1.62.1)
- עלות חבויה: קבצי הדפדפן בלבד שוקלים בערך 281 MB ל-Chromium, 187 MB ל-Firefox ו-180 MB ל-WebKit — ושינוי שובר-תאימות בגרסה 1.38 עצר הורדות אוטומטיות של דפדפנים, כך שנעילת גרסאות בדימוי Docker חשובה
מתאים במיוחד ל: צוותים שסורקים אפליקציות React/Vue מסוג SPA וצריכים התנהגות אמינה בין דפדפנים בלי לבנות לוגיקת המתנה מאפס.
כלי אוטומציית הדפדפן בקוד פתוח הטוב ביותר לפרויקטים ממוקדי Chrome: Puppeteer

Puppeteer, ספריית האוטומציה של Google עצמה, בנויה בראש ובראשונה ל-Chrome — אינטגרציה עמוקה עם Chrome DevTools Protocol, יצירת צילומי מסך ו-PDF מובנית, וכל מה שבאמצע. שווה לתקן כאן הנחה ישנה: Puppeteer הנוכחי תומך רשמית גם ב-Firefox יציב, כך ש"רק Chrome" כבר לא מדויק לחלוטין, גם אם Chrome נשאר תרחיש השימוש העיקרי.
- רישיון: Apache-2.0
- בריאות GitHub: 95,458 כוכבים, 249 issues פתוחים — מספר issues גבוה משמעותית מזה של Playwright, וזה שיקול אם בוחנים תגובתיות
- מציאות נגד-בוטים: Issue #7006 ב-Puppeteer מתעד ניווט רגיל לחלוטין שנתקל באתגר Cloudflare — רינדור דף לא הופך אתכם לבלתי נראים למערכות אנטי-בוט, נקודה
מתאים במיוחד ל: צוותי Node.js שהתקבעו על Chrome, במיוחד אם הם צריכים גם יצירת PDF/צילומי מסך לצד scraping.
ה-scraper מבוסס AI הטוב ביותר ל-LLM ולצינורות RAG: Crawl4AI

Crawl4AI יושב על Playwright מתחת למכסה המנוע, ובנוי במיוחד כדי להפיק Markdown נקי עבור צינורות LLM ו-RAG במקום HTML גולמי מבולגן. הוא תומך גם ב-"clean Markdown" וגם ב-"Fit Markdown" שמכוון לחלונות הקשר, ובנוסף מאפשר חילוץ דרך LLM אם רוצים — CSS/XPath וסינון BM25 עובדים בלי לגעת ב-API של מודל בכלל.
יש כאן פרט חשוב שצריך לציין בדיוק: GitHub מסמן את המאגר כ-Apache-2.0, אבל קובץ הרישיון בפועל מוסיף דרישת ייחוס חובה לשימושים והפצות פומביים. זה לא Apache-2.0 סטנדרטי — זה Apache-2.0 עם תנאי נוסף ספציפי לפרויקט, ואת קובץ הרישיון עצמו צריך לקרוא, לא רק את תגית הרישיון בסרגל הצד של GitHub.
- בריאות GitHub: 77,959 כוכבים, גרסה אחרונה v0.9.2 (יולי 2026)
- דרישת משאבים: מדריך ה-self-hosting ממליץ על לפחות 4 GB RAM זמינים לקונטיינר
- אי-יציבות מתועדת: ה-changelog של v0.9.0 רשם שינויים שוברי תאימות בברירות המחדל של אימות שרת Docker והעביר מודולים — זה יעד שזז כל הזמן, אז נעלו גרסאות
מתאים במיוחד ל: צוותי Python שמזרימים נתוני אינטרנט טריים ל-agents של LLM או לצינורות RAG ויכולים לתחזק תשתית דפדפן בעצמם.
ה-scraper מבוסס AI הטוב ביותר לפריסה עצמאית עם מלכודת רישוי: Firecrawl

הליבה המתארחת-עצמית של Firecrawl היא המקום שבו שיחת ה-AGPL הופכת למוחשית. זהו crawler מבוסס API שמחזיר Markdown, HTML, צילומי מסך ונתונים מובנים — יכולות אמיתיות ומרשימות, הבנויות על Fetch ועל Playwright. אבל הליטוש שאנשים מקשרים ל-"Firecrawl" — טיפול מנוהל ב-anti-bot, סבב פרוקסי, שכבת ההתגנבות Fire-engine — שייך ל-Firecrawl Cloud, לא למאגר המתארח-עצמית. התיעוד הרשמי ל-self-hosting של Firecrawl קובע במפורש ש-Fire-engine והתנהגות anti-bot מתקדמת אינם כלולים בסטאק ברירת המחדל של self-host, ושהפקת צילומי מסך/פעולות דף דורשת אותם.
- רישיון: בעיקר AGPL-3.0-or-later לליבה, MIT ל-SDKs
- בריאות GitHub: 166,527 כוכבים — מספר עצום באמת לקטגוריה הזו
- מציאות ההקמה: self-hosting אומר להרים Redis, RabbitMQ, PostgreSQL, ואופציונלית גם FoundationDB — זו פעולה מרובת שירותים, לא קונטיינר אחד
מתאים במיוחד ל: כלים פנימיים או פרויקטי קוד פתוח שנוח להם עם חובת ה-source-offer של AGPL. כדאי לחשוב פעמיים לפני שבונים מוצר מסחרי סגור ישירות על הליבה המתארחת-עצמית בלי בדיקה משפטית.
ה-scraper מבוסס AI הטוב ביותר לחילוץ בשפה טבעית: ScrapeGraphAI

ScrapeGraphAI מאפשר לתאר מה רוצים בשפה פשוטה במקום לכתוב selectors — זו צינור עבודה מבוסס גרף שבו קריאות LLM מבצעות את מיפוי השדות. הספרייה ברישיון MIT משתמשת בתשתית שלכם: מפתח ה-API של ה-LLM שלכם (או מודל Ollama מקומי אם מעדיפים בלי חשבון tokens), ומופע Playwright שהגדרתם.
זה המלכוד שכדאי לציין במפורש: "קוד פתוח" כאן לא אומר "אפס עלות מתמשכת". כל חילוץ שורף tokens מול המודל שחיברתם. ולחילוץ מונחה-פרומפט יש כשל ייחודי שאין לכלים מבוססי selectors: Issue פתוח אחד מדווח שהצינור השלים בהצלחה כל שלב ועדיין החזיר שדות ריקים/NA עבור נתונים שהיו גלויים בבירור בדף — כשל שקט שכלים דטרמיניסטיים של CSS/XPath פשוט לא מייצרים.
- רישיון: MIT
- בריאות GitHub: 29,447 כוכבים, גרסה יציבה אחרונה v2.1.6
מתאים במיוחד ל: עבודות חילוץ לא סדירות וחד-פעמיות, שבהן גמישות של פרומפט שווה את עלות המודל ואת עומס הוולידציה.
ה-scraper מבוסס AI הטוב ביותר לחילוץ קל משקל, ללא מודל: AutoScraper

AutoScraper מדלג לגמרי על LLM. נותנים לו URL וערך דוגמה שרוצים לחלץ; הוא מסיק חוקים מבניים מהדף וממחזר אותם על דפים דומים. בלי מפתח API למודל, בלי חשבון tokens — רק requests ו-BeautifulSoup מאחורי הקלעים.
צריך להיזהר מהתווית "נטוש" שחלק משרשורי הפורומים מדביקים לו. היא פשוט לא מדויקת: היו commits אמיתיים באמצע 2025, וה-push האחרון למאגר היה ביולי 2026. אבל גרסת החבילה שהמשתמשים באמת יתקינו עם pip install עדיין היא v1.1.14, מ-2022. "קצב שחרור חבילות איטי" זו האבחנה הנכונה — לא "פרויקט מת".
- רישיון: MIT
- בריאות GitHub: 7,844 כוכבים
- מגבלה קשיחה: אין רינדור JS מובנה — הוא קורא
requests.get()ומנתח את ה-HTML שחזר, וזהו
מתאים במיוחד ל: עבודות חילוץ קטנות וחוזרות על עצמן בדפים סטטיים יציבים מבנית, כשאין בעיה לאמן מחדש מדי פעם אחרי עיצוב מחדש.
מסגרת ה-crawl בקוד פתוח הטובה ביותר לפרויקטי Python בקנה מידה גדול: Scrapy

Scrapy היא מסגרת ה-crawling הסטנדרטית-להפקה של Python — מנוע, scheduler, downloader, item pipelines, הכול. אם Beautiful Soup הוא אזמל, Scrapy הוא חדר הניתוח כולו: רשת אסינכרונית, בקרת מקביליות לפי דומיין, AutoThrottle, ו-exporters שכותבים ישר ל-CSV, JSON, JSON Lines, XML או לאחסון ענן.
הניואנס שציינתי קודם צריך לחזור גם כאן, כי זו מקור הבלבול הגדול ביותר סביב Scrapy: ל-Scrapy אין רינדור JavaScript מקורי. התיעוד של Scrapy ממליץ למצוא ולשחזר קודם את בקשת הנתונים הבסיסית — כי זה בדרך כלל מהיר ומלא יותר מאשר לרנדר דפדפן שלם — ולשמור את scrapy-playwright למקרים שבהם דפדפן הוא באמת בלתי נמנע.
- רישיון: BSD-3-Clause
- בריאות GitHub: 63,830 כוכבים, 304 issues פתוחים, 9 גרסאות יציבות בשנה האחרונה (האחרונה: 2.17.0)
- פער בהגבלת קצב: בקשת שיפור פתוחה מציינת ש-AutoThrottle מכוונן לפי latency, לא לפי תגובות HTTP 429 — התאמת backoff לפי תגובה עדיין באחריותכם
מתאים במיוחד ל: crawling בקנה מידה גדול לאתרים סטטיים, כשצינורות מובנים וגמישות ביצוא חשובים יותר מרינדור JS.
מסגרת ה-crawl בקוד פתוח הטובה ביותר לפריסות Node.js בייצור: Crawlee

Crawlee, של צוות Apify, הוא המקביל הקרוב ביותר של Node/TypeScript ל-Scrapy — רק שכאן רינדור JavaScript לא מחובר בדיעבד, אלא מובנה מההתחלה דרך מחלקות crawler מבוססות Playwright ו-Puppeteer שיושבות מעל שכבת תורים, אחסון וסבב פרוקסי משותפת.
- רישיון: Apache-2.0
- בריאות GitHub: 25,364 כוכבים, 8 גרסאות יציבות בשנה האחרונה (האחרונה: 3.18.1)
- פרט חכם:
AutoscaledPoolמתאים דינמית את המקביליות לפי עומס CPU, זיכרון ו-event-loop בזמן אמת — והתיעוד מזהיר במפורש שהגדרת מקביליות מינימלית גבוהה מדי עלולה להפיל את ה-crawl כולו
מתאים במיוחד ל: צוותי Node.js/TypeScript שרוצים ניהול תורים מוכן-לייצור ורינדור JS בלי להרכיב לבד רכיבים מקבילים ל-Scrapy.
מסגרת ה-crawl בקוד פתוח הטובה ביותר לאינדוקס ארגוני ב-Java: Apache Nutch

Apache Nutch הוא החריג ברשימה הזו — crawler ב-Java שנבנה עבור אינדוקס אינטרנט בקנה מידה גדול, ובדרך כלל מזין לתוך Solr, Elasticsearch או OpenSearch. זה לא הכלי שתיקחו כדי למשוך מחירי מוצרים מאתר של מתחרה; זה הכלי שצוותי search enterprise בוחרים כשהם בונים את שכבת ה-crawl מתחת לאינדקס חיפוש.
- רישיון: Apache-2.0
- בריאות GitHub: רק 3,276 כוכבים, אבל push עודכן עד אוגוסט 2026 — מספר הכוכבים הנמוך משקף נישה מתמחה, לא הזנחה
- טיפול ב-JS: דורש את ה-plugin הנפרד
protocol-selenium; כרטיס JIRA מתעד כשל בפרוקסי HTTPS דווקא בנתיב הזה
מתאים במיוחד ל: צוותים שכבר מפעילים תשתית Java/Hadoop וצריכים אינדוקס אינטרנט ברמת enterprise, לא חילוץ נתונים אד-הוק.
הרחבת ה-browser ללא קוד הטובה ביותר בקוד פתוח: Web Scraper

Web Scraper היא האפשרות של point-and-click — בונה sitemap ועץ selectors שחי בתוך Chrome DevTools. היא עוקבת אחרי pagination, לוחצת על כפתורים, גוללת דפים עם טעינה אינסופית, ומייצאת מקומית ל-CSV/XLSX, והכול בלי שורת קוד אחת.
ההפרדה של open-core חשובה כאן יותר כמעט מכל מקום אחר ברשימה. חילוץ מקומי הוא באמת חינמי. אבל אוטומציה מתוזמנת, הרצה בענן, גישת API וניהול פרוקסי כולם נמצאים מאחורי Web Scraper Cloud, מוצר בתשלום נפרד. וכפי שצוין קודם, למאגר ה-LGPL-3.0 הפומבי לא היה commit קוד מאז 2017 — אז צריך להתייחס ל"קוד פתוח" כתיאור של שושלת ההרחבה המקומית, לא כהבטחה לגבי מה שרץ כיום בבילד של Chrome Web Store.
מתאים במיוחד ל: אנשים פרטיים או צוותים קטנים שעושים חילוץ מקומי מדי פעם, לא רוצים לכתוב קוד ולא צריכים סקייל.
Parsers סטטיים מול דפדפנים ללא ממשק: איך בוחרים את הכלי הנכון לאתרים כבדי JS

הנה נתון שכדאי לקרקע בו את הדיון: 98.9% מהאתרים משתמשים ב-JavaScript כשפת צד-לקוח. אבל הנתון הזה מצוטט לא פעם בטעות כ-"98.9% מהאתרים דורשים headless browser כדי לעשות scraping" — וזה לא מה שהוא אומר. הוא מודד נוכחות של JavaScript, לא אם המידע הספציפי שאתם צריכים נמצא כבר ב-HTML הראשוני או מופיע רק אחרי הרצת סקריפטים.
זה ההבדל שבאמת קובע. נחלק את 12 הכלים לשתי קבוצות כנות:
מנתחים סטטיים — BeautifulSoup, AutoScraper — הם מהירים, זולים, ועיוורים לחלוטין לכל דבר שנרנדר בצד הלקוח. אם הנתונים שלכם נמצאים ב-HTML הראשוני או ב-endpoint של JSON שאפשר לקרוא ישירות, אלה ינצחו במהירות ובפשטות בכל פעם.
מסגרות דפדפן ללא ממשק — Playwright, Puppeteer, Selenium, ה-crawlers של Crawlee — באמת מריצות JavaScript, ולכן הן צורכות חישוב אמיתי. נתוני HTTP Archive לשנת 2024 מראים שה-payload החציוני של JavaScript בדף הוא 558 KB במובייל, עם 22 בקשות JS נפרדות — זה העומס שדפדפן ללא ממשק צריך לעכל בכל טעינת דף, לעומת parser סטטי שפשוט אוסף HTML גולמי.
ו-Scrapy יושב במעין אמצע חריג שכדאי להזכיר שוב: הוא לא זה ולא זה. זו מסגרת crawl מלאה בלי רינדור מובנה, וצריך לחבר אליה scrapy-playwright אם בכלל רוצים JS.
העלות החבויה של "חינם": פרוקסי, חישוב ושעות תחזוקה

אפס דמי רישוי הם רק רכיב אחד בעלות הכוללת, לא כל המשוואה. הייתי מחלק את מודל העלות האמיתי לכמה דליים ברורים:
חישוב. הפעלת דפדפנים ללא ממשק בקנה מידה גדול אומרת לשלם על שניות-דפדפן, לא רק על זמן שרת. מחירון AWS Fargate מחייב בערך $0.000011244 לכל vCPU-second ו-$0.000001235 לכל GB-second עבור Linux/x86 — תכפילו את זה במספר מופעי Playwright המקבילים שאתם מפעילים, וזה מצטבר מהר יותר ממה שאנשים מצפים.
פרוקסי. התעריפים ש-Bright Data מפרסמת הראו פרוקסי residential שמתחילים בערך מ-$5/GB ופרוקסי datacenter מ-$0.9/IP — ו"bandwidth" במודלי התמחור האלה כולל גם את מטעני הבקשה וגם את התגובה, לא רק את מה שהורדתם. זה הסעיף שתופס צוותים לא מוכנים: הימנעות מ-rate limits וחסימות אינה חינמית, אלא שורה חוזרת בתקציב התשתית.
תחזוקה. כל parser סטטי וכל כלי מבוסס חוקים מבניים ברשימה הזו פגיעים לעיצובי אתר מחדש שמפרקים את ה-selectors שלכם. אפילו דוגמת ה-README של AutoScraper נזקקה לעדכון מחיר אחרי שהאתר היעד השתנה. זו קטגוריית "עלות חישוב/פרוקסי חבויה" שתווית של $0 על רישיון לעולם לא מזכירה — שעות ההנדסה שמשקיעים בתיקון חילוץ שבור אחרי שמישהו בצוות הפיתוח של האתר היעד שחרר עיצוב חדש.
עבור צוותים שנתקלים שוב ושוב בקיר הזה — שבירות selectors קבועות, ניהול חשבונות פרוקסי, והתחזוקה התפעולית שלא נגמרת — סטאק קוד פתוח מתארח-עצמית לא בהכרח יוצא זול יותר כשסופרים שעות מהנדסים. הרחבת Chrome של Thunderbit נוקטת גישה אחרת למשתמשים לא-מפתחים: מפנים אותה לדף מורשה, לוחצים על One Click Extract, והיא מנתחת את הדף כדי להבין מה צריך לשלוף — בלי selectors, בלי סקריפט תחזוקה כשהפריסה משתנה. זה לא תחליף ל-Scrapy בקנה מידה של מסגרת crawl, אבל זו בהחלט מדרגה הגיונית למשתמש עסקי שנאלץ לתחזק ידנית סט חוקים שביר של AutoScraper.
מסגרת החלטה: התאמת הכלי הנכון למגבלות של הצוות
רוב ההשוואות עוצרות ב"הכי טוב ל-X". זה משתנה אחד. בפועל, צוותים מתמרנים לפחות ארבעה בו-זמנית: צורך ברינדור JS × שפת הצוות × פורמט הפלט הנדרש × מגבלת רישיון.
| מצב צוות | הכלי/ים המתאימים ביותר | למה |
|---|---|---|
| Python, HTML סטטי, סקריפט מהיר | BeautifulSoup, AutoScraper | אין צורך ב-JS, רישיון MIT, התקנה מינימלית |
| Python, crawl מובנה בקנה מידה גדול | Scrapy | BSD-3-Clause, pipelines מובנים, חברו ל-scrapy-playwright רק אם JS באמת נחוץ |
| Node/TypeScript, crawl בייצור עם JS | Crawlee | Apache-2.0, תמיכה מקורית בדפדפן בנויה בתוך מערכת התורים |
| ריבוי שפות, מטריצת דפדפנים רחבה | Selenium | Apache-2.0, הכיסוי הרחב ביותר של שפות/דפדפנים |
| אוטומציה מודרנית של SPA, רב-דפדפנית | Playwright | Apache-2.0, רינדור מקורי, auto-wait מובנה |
| אוטומציה ממוקדת Chrome עם צילומי מסך/PDF | Puppeteer | Apache-2.0, אינטגרציה עמוקה עם CDP |
| צינור Markdown ל-LLM/RAG | Crawl4AI | Apache-2.0 + סעיף ייחוס; בדקו מול הצוות המשפטי שלכם אם התנאי הנוסף מקובל |
| חילוץ מונחה פרומפט, לא סדיר | ScrapeGraphAI | MIT, אבל צריך לתקצב עלות tokens של LLM |
| crawler מתארח-עצמית בהתאמת API, סובל AGPL | Firecrawl | AGPL-3.0-or-later; קבלו אישור משפטי לפני בניית SaaS סגור מעליו |
| אינדוקס enterprise ב-Java/Hadoop | Apache Nutch | Apache-2.0, בנוי במיוחד לתשתית חיפוש |
| ללא קוד, שימוש מזדמן, ללא מפתחים | Web Scraper extension | חינמי מקומית; חשוב להבין את חלוקת ה-open-core לפני שמניחים שקיפות מלאה |
השוואה של כל 12 כלי ה-Web Scraper בקוד פתוח זה לצד זה
| כלי | שפה | רישיון | בטוח לשימוש מסחרי? | רינדור JS | עקומת למידה | מתאים במיוחד ל |
|---|---|---|---|---|---|---|
| BeautifulSoup | Python | MIT | ✅ כן | אין (דורש צימוד) | נמוכה | ניתוח HTML סטטי |
| Selenium | רב-שפתי | Apache-2.0 | ✅ כן | מקורי | בינונית | מעבר מבדיקות רב-דפדפניות/רב-שפתיות ל-scraping |
| Playwright | JS/TS/Python/Java/.NET | Apache-2.0 | ✅ כן | מקורי | בינונית | אתרי JS מודרניים וכבדים |
| Puppeteer | Node.js/TS | Apache-2.0 | ✅ כן | מקורי | בינונית | אוטומציה ממוקדת Chrome |
| Crawl4AI | Python | Apache-2.0 + סעיף ייחוס | ⚠️ צריך לבדוק את הסעיף | מקורי (דרך Playwright) | בינונית | צינורות Markdown ל-LLM/RAG |
| Firecrawl (מתארח-עצמית) | TypeScript | AGPL-3.0-or-later (ליבה) | ⚠️ בתנאי | מקורי (דרך Playwright) | גבוהה (רב-שירותי) | crawling AI מתארח-עצמית, סובל AGPL |
| ScrapeGraphAI | Python | MIT | ✅ כן | מקורי (דרך Playwright) | בינונית | חילוץ בשפה טבעית |
| AutoScraper | Python | MIT | ✅ כן | אין | נמוכה | משימות סטטיות קלות וחוזרות |
| Scrapy | Python | BSD-3-Clause | ✅ כן | דורש צימוד | גבוהה | crawl בקנה מידה גדול לאתרים סטטיים |
| Crawlee | Node.js/TS | Apache-2.0 | ✅ כן | מקורי | בינונית | crawlers לייצור ב-Node.js |
| Apache Nutch | Java | Apache-2.0 | ✅ כן | דורש plugin | גבוהה | אינדוקס חיפוש ארגוני |
| Web Scraper (הרחבה) | N/A (ללא קוד) | open-core | ⚠️ תלוי ברמה | מקורי (דפדפן חי) | נמוכה | שימוש מזדמן של לא-מפתחים |
מסקנה: איזה Web Scraper בקוד פתוח כדאי לכם לבחור?
אין כאן כלי אחד שהוא "הכי טוב" — התשובה הנכונה תלויה במגבלות הרישוי, בשפת העבודה של הצוות, ובשאלה אם הנתונים שלכם חיים ב-HTML סטטי או מאחורי חומת JavaScript. Scrapy מנצח ל-crawls גדולים ב-Python על אתרים סטטיים. Playwright או Crawlee מנצחים כש-rerendering של JS הוא לא נושא למשא ומתן. Crawl4AI מתאים אם אתם מזינים צינור LLM, עם הסתייגות שקובץ הרישיון שלו כולל סעיף ייחוס נוסף ששווה קריאה מהירה. הליבה המתארחת-עצמית של Firecrawl חזקה מאוד, אבל מגיעה עם שיחת AGPL שהצוות המשפטי שלכם צריך להיות חלק ממנה, לא להחמיץ.
ואם תחזוקת selectors וניהול פרוקסי שוחקים יותר שעות הנדסה מה-scraping עצמו, זה בדרך כלל הסימן שהגיע הזמן לבדוק חלופה ללא קוד כמו Thunderbit במקום להוסיף עוד שכבה לסטאק OSS מתארח-עצמית.
שאלות נפוצות על כלי Web Scraper בקוד פתוח
האם מותר להשתמש בכלי Web Scraper בקוד פתוח לאיסוף נתונים עסקיים?
בדרך כלל, scraping של נתונים ציבוריים נחשב בסיכון נמוך יותר מאשר scraping מאחורי התחברות או paywall, אבל זה לא אומר שהוא חוקי אוטומטית בכל מקרה. תמיד בדקו את תנאי השימוש של האתר היעד ואת קובץ robots.txt — אבל שימו לב ש-robots.txt הוא פרוטוקול של בקשה, לא מנגנון הרשאה, כך שעבודה לפי ההנחיות שלו היא best practice, אבל היא לא מעניקה כשלעצמה אישור משפטי. גם חוקי פרטיות כמו GDPR חלים בלי קשר לשאלה אם המידע גלוי לציבור. זו לא ייעוץ משפטי — התייעצו עם עורך דין לכל שימוש מעבר לשימוש מזדמן ובנפח נמוך.
האם "קוד פתוח" אומר שהכלי חינמי לשימוש מסחרי?
כן, במובן זה ש-הגדרת הקוד הפתוח אוסרת על רישיונות להפלות שימוש מסחרי. אבל "ניתן לשימוש מסחרי" ו"ללא חובות" הם שני דברים שונים — AGPL-3.0 (שמשמש את הליבה המתארחת-עצמית של Firecrawl) מתיר שימוש מסחרי, אבל עדיין מחייב להציע קוד מקור מתאים לגרסאות ששיניתם ומוצעות דרך הרשת. MIT, BSD ו-Apache-2.0 לא דורשים זאת.
מה ההבדל בין scraper בקוד פתוח לבין כלי scraping ללא קוד?
scrapers בקוד פתוח כמו Scrapy, Playwright או BeautifulSoup דורשים מכם לכתוב קוד, לנהל תשתית ולטפל בלוגיקת ה-crawl, בפרוקסי ובייצוא בעצמכם. כלי no-code כמו הרחבת Chrome של Web Scraper או ההרחבה של Thunderbit מטפלים בזיהוי שדות ובחילוץ דרך ממשק חזותי או ניתוח דף מבוסס AI, ומחליפים חלק מהגמישות במחסום כניסה נמוך בהרבה.
איזה Web Scraper בקוד פתוח הכי מתאים למשתמשים לא-מפתחים?
כמעט כל הכלים ברשימה הזו — Scrapy, Playwright, Puppeteer, Crawlee וכל השאר — מניחים שאתם יודעים לכתוב קוד. עבור משתמשים לא טכניים, הרחבת Chrome של Web Scraper מציעה התקנה של point-and-click, אם כי יכולות התזמון והענן שלה נמצאות מאחורי תשלום. כלי agentic ללא קוד כמו ההרחבה של Thunderbit הוא נקודת פתיחה פרקטית יותר אם אתם רוצים זיהוי שדות אוטומטי בלי לגעת ב-selector.
למה Scrapy צריך plugin נפרד כדי לרנדר JavaScript?
Scrapy נבנה כ-framework שמתחיל מ-HTTP — הוא שולח בקשות ומנתח את ה-HTML שחוזר, בלי להריץ סקריפטים בצד הלקוח. הארכיטקטורה הזו הופכת אותו למהיר וקל משקל ל-crawls של אתרים סטטיים, אבל גם אומרת שתוכן שמרונדר ב-JavaScript פשוט לא נמצא בתגובה ש-Scrapy מקבל. scrapy-playwright מגשר על הפער הזה על ידי ניתוב בקשות מסוימות דרך מופע Playwright אמיתי כשאין ברירה אלא לרנדר.
למידע נוסף
- 15 Best Web Scraping GitHub Projects in 2026, Plus the Best No-Code Alternative
- Crawl4AI Runs a Real Browser to Make Markdown — and No, It Won't Fix Your Selectors For You
- I Ran Playwright and Puppeteer Through the Same Scraping Tests
- Top 10 No Code Web Scrapers for Automated Solutions
- Is Web Scraping Illegal? Understanding the Legal Implications


