זחלן רשת

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
Gnome-edit-clear.svg ערך זה זקוק לעריכה: ייתכן שהערך סובל מפגמים טכניים כגון מיעוט קישורים פנימיים, סגנון טעון שיפור או צורך בהגהה, או שיש לעצב אותו.
אתם מוזמנים לסייע ולתקן את הבעיות, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף. אם אתם סבורים כי אין בדף בעיה, ניתן לציין זאת בדף השיחה.

זחלן רשת (web crawler) או רובוט חיפוש הוא סוג של בוט או תוכנה שסורקת באופן אוטומטי ושיטתי את הרשת הכלל עולמית (WWW). אתרים רבים, בייחוד מנועי חיפוש, משתמשים בזחלנים כדי לקבל תמונה עדכנית של הרשת. במנועי חיפוש, הזחלן שומר העתק של האתרים כדי שיהיה ניתן לעדכן אותם מאוחר יותר באינדקס של מנוע החיפוש. כמו כן, תוכנות זחלן יכולות לאתר קישורים מתים בדפי אינטרנט או לאסוף כתובות דואר אלקטרוני (בדרך כלל לשם שליחת דואר זבל). בדרך כלל הזחלן מתחיל לסרוק דף מתוך רשימה נתונה של דפים (למשל האינדקס של מנוע החיפוש) ומשם הוא מתקדם באופן רקורסיבי דרך הקישורים בדף, לדפים נוספים.

Web crawler[עריכת קוד מקור | עריכה]

"זחלן" הוא כינוי לתוכנת מחשב אשר סורקת את האינטרנט בצורה אוטומטית, שיטתית וסידרתית. תוכנה זאת יכולה להיקרא גם "עכביש רשת", "רובוט רשת" ו"אינדקס אוטומטי". התהליך אותו עושה התוכנה נקרא "הזדחלות אינטרנטית", תהליך בו משתמשים אתרים רבים, במיוחד מנועי חיפוש. הזחלן משמש בעיקר ליצירת עותק של כל האתרים שביקרו בהם וכך מאפשר למנועי חיפוש נתינת תוצאות מהירות. תפקיד נוסף של הזחלן הוא איתור כתובות מייל של גולשים (לרוב בשביל לשלוח להם דואר ספאם ופרסומים שונים).

דרך פעולה[עריכת קוד מקור | עריכה]

הזחלן מתחיל את פעולתו ברשימת אתרים אותם עליו לבקר, אתרים אלו נקראים בשם "זרעים", כאשר העכביש מבקר באתרים אלו הוא מזהה את הלינקים שיש בדף אינטרנטי מסוים ומצרף אותם לרשימת האתרים שאותם עליו לבקר. הכמות הרבה של האתרים בהם העכביש מבקר מחייבת את התוכנה לדעת לסדר את האתרים בסדר עדיפויות, אך אין אפשרות לדעת בביטחון כי האתר בו העכביש מבקר לא מבוקר בפעם הראשונה. לכן השגת מידע ראשוני בכל הפעלה של התוכנה היא דבר כמעט בלתי אפשרי. התנהגותו של הזחלן היא תוצאה של צירוף מספר מדיניות:

  • מדיניות של בחירה אשר מגדירה איזה עמוד להוריד.
  • מדיניות של ביקור חוזר אשר מגדירה מתי לבדוק שינויים בדפים.
  • מדיניות נימוס אשר מגדירה איך להימנע מעומס יתר של אתרים ולגרום להפלה של השרת.
  • מדיניות של הקבלה אשר מגדירה איך לתאם בין הזחלנים השונים.

מדיניות בחירה (סלקציה)[עריכת קוד מקור | עריכה]

בהינתן הגודל של האינטרנט כיום גם מנועי חיפוש גדולים מכסים בחיפושם חלק קטן מהנתונים. מחקרים הראו כי המידע המתקבל על ידי אתרים אלו עומד על 40%-70% מכלל ההיצע האינטרנטי. מכיוון שהזחלן מוריד רק חלק קטן מדפי האינטרנט, התוצאה הרצויה היא שהדפים אלו יכילו בתוכם את המידע הרלוונטי ביותר ולא רק דגימה מקרית. ניתן להגיד כי צורך חשוב ביותר כאשר מפעילים זחלן הוא הצורך בסידור עדיפויות, הפונקציונאליות של עמוד טמונה באיכותו, הפופולריות שלה הוא זוכה ואפילו כתובתו. ולכן, כאשר מעצבים מדיניות סינון צריך לקחת בחשבון כי על הזחלן לעבוד עם מידע חלקי וכי המידע השלם שקיים ברשת לא יופיע במהלך הרצת התוכנה. ישנם מספר דרכים להריץ תוכנה זו באינטרנט: על פי מספר הביקורים באתר מסוים (הסתבר כי לא מניב תוצאות טובות, ובעיקר עוזר לדפי אינטרנט יחידים ולא לאתרים שלמים). דרך שנייה להרצת התוכנה היא הרצה של התוכנה כאשר כוונתה העיקרית היא לחפש לפי רוחב האתר, דרך זו מניבה תוצאות יותר טובות מכיוון שהאתרים המבוקרים ביותר עולים בחיפוש יחסית בהתחלה. הסיבה לכך היא כי הדפים החשובים ביותר הם בעלי הלינקים הרבים יותר, שקל יותר לאתר. ישנם תוכנות מבוססות אלגוריתמים אשר מחלקים את הדפים לפי דירוג, כאשר הדפים בעלי "הדירוג" (אשר נקבע לפי האלגוריתם) הגבוה יותר מאותרים מיידית וסימולטנית על ידי התוכנה. דרך זו של חיפוש לא הועלתה מעולם לאינטרנט ועל כן לא ניתן להוכיח את אמינותה.

מיקוד התוכנה[עריכת קוד מקור | עריכה]

כאשר מריצים תוכנה כמו הזחלן, דבר חשוב שצריך לבצע הוא התאמה בין דמיון של עמוד מסוים לנושא החיפוש. הבעייתיות המרכזית אשר עולה מהזחלן היא שרוצים לדעת את מידת ההתאמה של הערך לנושא החיפוש לפני הורדת העמוד. דרך טובה לנבא זאת הוא עוגן הטקסטים בלינק, זוהי שיטה שפותחה על ידי פינקרטון באחד מהזחלנים הראשונים שקמו באינטרנט. הפוקוס של החיפוש תלוי בכמות הלינקים בנושא שמחפשים והישענות על מנוע חיפוש אשר נותן נקודת התחלה טובה. מדיניות הביקור החוזר לאינטרנט יש טבע דינמי, ועל כן, הרצת זחלן יכולה לקחת שבועות ואפילו חודשים. בזמן זה דברים יוכלו להשתנות ולהיות לא רלוונטיים. ולכן כאשר אנו מריצים תוכנה ערכי הבסיס שהתוצאות אמורות לעמוד בהם הם: טריות וגיל התוצאות.

  • טריות: מתבצעת בדרך בינארית אשר מראה אם העותק המקורי הוא מדויק או לא.
  • זמן: מדד הזמן קובע כמה ישן העותק המבוקש.

המטרה העיקרית של הזחלן היא לשמור על ממוצע טריות דפיו גבוה ככל האפשר וזאת תוך כדי שמירה על גיל הדפים נמוך ככל האפשר. לכן, הזחלן צריך לעשות עבודה כפולה: ראשית, עליו לבדוק את כמות הדפים המיושנים באתר מסוים ושנית, עליו לדאוג כמה ישנים הם. על הזחל לבקר מספר פעמים את כל הדפים באוסף, תוך נתינת דגש וביקור חוזר של דפים המשתנים בצורה יותר תכופה. כדי להבטיח את העלאת הדפים החדשים ביותר, על הזחל "לקנוס" אתרים המשתנים בתכיפות גבוהה יותר, ובסופו של דבר להתעלם מדפים אלו.

מדיניות הנימוס[עריכת קוד מקור | עריכה]

תוכנות הזחל יכולות למצוא מידע בצורה הרבה יותר מהירה ועמוקה מאשר בני אנוש. המהירות והאופן בו פועלים הזחלים משפיע רבות על השרתים, ועל כן, כמעט מיותר לציין כי מספר זחלים הפועלים בו זמנית יכולים להפיל שרת. הפעלה של זחלים יכולה להיות אפקטיבית למספר משימות אך גם יכולה להוות בעיה לאוכלוסייה ממספר סיבות:

  • הזחלנים תופסות את הרשת ועל כן משתקות חלקים של הרשת לפרק זמן ממושך
  • לפעמים הכניסה לאתרים בהם הזחל פועל באותה עת היא בלתי אפשרית מכיוון שהזחל יוצר עומס רב על האתר.
  • תוכנות אשר מתוכנתות בצורה לא מספקת יכולים להפיל שרתים וראוטרים ולהוריד דפים איתם הם לא יודעים איך להתמודד.
  • זחלים יכולים להפיל שרתים שלמים ואתרים.

פתרון חלקי לבעיות אלו הוא "פרוטוקול מניעת הרובוטים" אשר מהווה סטנדרט למנהלי אתרים ומראה להם איזה חלק מהאתר לא נחשף לזחל. שיטה זו היא היעילה ביותר למניעת הפלות של אתרים מעומס יתר של תוכנות זחלים.

מדיניות ההקבלה[עריכת קוד מקור | עריכה]

זחלן מקביל הוא זחלן אשר מבצע כמה תהליכי זחילה במקביל, מטרה של תוכנה זו היא למקסם את כמות הערכים שמורידים תוך שמירה על מינימליות הכפילות. על הזחלן לזהות שתי כתובות זהות ובכך למנוע כפילות של העלאת אתרים.