איך לסרוק אתר מבלי להיחסם? 11 טיפים
בצע את הבטיחות על ידי ביצוע שיטות עבודה מומלצות אלה

מגרדים. עכבישים. זחלנים. איך שלא תקרא להם, הם כלים מגוונים ביותר לאיסוף נתוני אתר במהירות וביעילות.
גוגל ומנועי חיפוש אחרים סורקים אתרים כדי למצוא אתרים מתאימים להצגה בתוצאות החיפוש. פלטפורמות מסחר אלקטרוני מגרדות נתונים כל הזמן כדי למצוא נתונים עסקיים חיוניים. ספקים יכולים גם למצוא מידע על לידים פוטנציאליים וללמוד טוב יותר כיצד למקד לקהלים.
לרוע המזל, כפי שכל מפתח אתרים יודע, מגרדים יכולים ליצור כמויות עצומות של תעבורת אינטרנט – במיוחד אם הם לא מוגדרים כהלכה. המשמעות היא שאתרים רבים נוקטים באמצעים אקטיביים כדי למנוע גרידה.
במדריך זה תלמדו כיצד לעקוף חלק מאלה כדי לייעל את גירוד האינטרנט שלכם.
1. כבד את הרובוטים
הדרך הפשוטה והיעילה ביותר להבטיח שכלי הגרידה שלך לא ייחסם היא לכבד את הכללים. למרבה המזל, רוב האתרים מקלים עליך באמצעות robots.txt – קובץ טקסט רגיל המפרט מידע עבור 'בוטים' אוטומטיים כמו כלי גירוד.
הקובץ צריך לציין תחילה אם מותר או לא גרידה. גם אם כן, ודא שהבוט שלך עוקב אחר הכללים שנקבעו ב-robots.txt, למשל על ידי הגדרתו לסרוק בשעות השפל ולהגביל את מספר הבקשות המגיעות מאותה כתובת IP.
רוב הגרסאות של robots.txt מכילות גם משתנה שנקרא "crawl-delay", המציין כמה שניות עליך להמתין בין בקשות. התאמת התזמון של בקשות כלי המגרד שלך מפחיתה מאוד את הסיכוי שלך להיחסם.
2. סובב את כתובות ה-IP שלך
אחת הדרכים הנפוצות ביותר שבהן אתרים מזהים מגרדים היא על ידי ניתוח הפעילות שלהם, כמו העיכוב בין בקשות המפורטות לעיל.
אם מתגלה התנהגות חריגה כלשהי, סביר להניח שהאתר יחסום אוטומטית את כתובת ה-IP שממנה נראה שהמגרד מתחבר.
אתה יכול לעקוף את הבעיה הזו באמצעות שרת פרוקסי . אלה יכולים לשמש כשער לשבת בין בוט המגרד שלך לאתר המדובר, ולהסתיר את ה-IP האמיתי שלו. לשירות פרוקסי טוב יש מספר התקנים וכתובות IP, מה שמקל על הבוט להופיע כמתחבר ממספר מיקומים.
כשמדובר באיסוף נתונים, שני הסוגים העיקריים של פרוקסי הם ISP Proxies ו-Datacenter. הסוג הטוב ביותר (אם היקר יותר) הם פרוקסי ספקי אינטרנט (הידועים לפעמים בתור 'פרוקסי מגורים') מכיוון שהם משתמשים במכשירים שבבעלות אנשים אמיתיים, כך שהרבה יותר קשה לאתרים לאתר.
אתה יכול לקרוא עוד על ההבדל בין מרכז נתונים ושרת proxy במדריך המקוון שלנו .
3. השתמש בפותרי CAPTCHA
אלו הם עוד כלי פופולרי שנועד להרחיק בוטים. אם השתמשת באינטרנט במשך זמן רב, כמעט בטוח שנתקלת באתגר CAPTCHA בעת הרשמה לאתר או מילוי טופס מקוון. בדרך כלל הם כוללים הקלדת טקסט מעוות או בחירת סוגים מסוימים של תמונות כמו ברזי כיבוי מבחר.
בתיאוריה סוגים אלה של חידות קלים לבני אדם אך קשים לפתרון לרובוטים. בפועל אתה יכול לדלג על המשוכה הספציפית הזו באמצעות שירות פותר CAPTCHA. חלק משירותי הפותרים משלמים למעשה לבני אדם כדי לפתור את אתגרי ה-CAPTCHA בשמו של הבוט שלך. אחרים פורסים AI ולמידת מכונה כדי לפתור את החידות.
תוכל ללמוד עוד על מה ששירות CAPTCHA Solver יכול לעשות עבורך עם המדריך המקוון שלנו .
4. הגדר סוכן משתמש אמיתי
כאשר בוט המגרד שלך מתחבר לשרת המארח אתר אינטרנט, הוא שולח 'כותרת בקשה' של HTTP, המספק מידע חיוני. זה כולל נתוני 'סוכן משתמש' המזהים את מערכת ההפעלה של המכשיר וגרסת המערכת, כמו גם את היישום המתחבר, כגון דפדפן אינטרנט.
זה יכול להיות מועיל כדי לוודא שדפי אינטרנט נטענים כהלכה, אבל מכיוון שזה לא משנה למגרד, לרוב אין סוכן משתמש מוגדר. גם אם כן, ייתכן שזה לא משקף את מערכות ההפעלה או דפדפני האינטרנט המעודכנים ביותר, שיכולים להפעיל את אלגוריתמי זיהוי הבוטים של השרת.
כדי לעקוף בעיה זו, הגדר את מחרוזת 'סוכן המשתמש' שלך לדפדפן אינטרנט פופולרי כמו Chrome או Firefox. אם אינך נהנה לעשות זאת, שקול להשתמש בנתוני סוכן המשתמש של GoogleBot . רוב האתרים יאפשרו זאת מכיוון שהם רוצים להיסרק על ידי גוגל על מנת להופיע גבוה יותר בדירוג החיפוש.
שרתים עשויים גם למצוא את זה חשוד אם נראה שאותו User Agent מתחבר לאתר שוב ושוב, אז נסו למצוא מספר תצורות חוקיות שונות ולעבור ביניהן באופן קבוע.
5. עדכן את כותרות הבקשה שלך
חלק מהאתרים עוברים מעבר לבדיקת נתוני 'סוכן המשתמש' וקוראים ערכים אחרים בכותרת בקשת ה-HTTP. זה כולל ערכים כמו 'Accept-Language', המציין את המקום והשפה המועדפים שהלקוח שלך מעדיף.
לדוגמא של כותרת בקשת HTTP טיפוסית, הפעל את דפדפן האינטרנט הרגיל שלך ופנה לכאן . תראה כאן את כל המידע שהדפדפן שלך שולח כדי לוודא שהאתרים מותאמים לצפייה במכשיר הספציפי שלך.
עם זאת, בדומה לנתוני 'סוכן המשתמש' שהוזכרו קודם לכן, מגרדים רבים אינם טורחים להגדיר ערכים כמו השפה המועדפת. משמעות הדבר היא שכותרות בקשת ה-HTTP שלהן אינן דומות לדפדפן אינטרנט טיפוסי, מה שגורם להן להיתקל בתוכניות נגד מגרד.
למרבה המזל, זה די פשוט להגדיר בוטים של מגרדים להשתמש בכותרת בקשת HTTP במראה "אמיתי". בדומה לנתוני 'סוכן משתמש', הקפד להמשיך ולשנות את הגדרות הכותרת באופן קבוע כדי למנוע יותר מדי בקשות שנראות מאותו מכשיר.
בזמן שאתה כאן, זה גם חכם להוסיף 'מפנה' לשדה כותרת ה-HTTP, למשל:
"מפנה": " https://www.google.com/ "
אם תבחר בגוגל, הקפד לשנות את ה-TLD למיקום האתר שאתה מגרדת – למשל במקרה של אתר גרמני השתמש ב- https://www.google.de .
זה אומר שבכל פעם שהבוט המגרד שלך מתחבר לאתר, נראה שהוא הגיע מתוצאות החיפוש של גוגל. זה מגדיל את הסיכוי שתעבורת הבוט שלך תיראה תקינה, בהתחשב בכך שהשרת היה מצפה שרוב ההפניות יהיו מגוגל.
6. הימנעו מעציצי הדבש
למרות שזה נדיר, כמה מנהלי אתרים ערמומיים טומנים מלכודות בכוונה כדי לזהות בוטים. זה נעשה על ידי הכנסת קישורים לדפי אינטרנט שרק בוטים יכולים לראות.
ישנן שתי שיטות נפוצות לעשות זאת:
אם הבוט שלך אכן עוקב אחר קישורים נסתרים כמו אלה, האתר יוכל לזהות ולחסום אותו כמעט מיד.
ההגנה הטובה ביותר שלך מפני סוגים אלה של מלכודות מכוונות היא להגדיר את הבוט שלך לסרוק קישורים למאפיינים כמו אלה שתוארו לעיל לפני שתעקוב אחריהם. ייתכן שלכלי גירוד מתוחכמים יותר תכונה זו כבר מובנית.
7. נגב את אצבעותיך
גם אם אתה מסובב באופן קבוע את כתובת ה-IP שלך באמצעות פרוקסי ומשתמש בכותרות סבירות ל-HTTP-request, חלק מהאתרים עדיין יכולים לזהות התקנים ספציפיים באמצעות TCP/IP (Transmission Control Protocol/Internet Protocol) טביעת אצבע.
זה מסתמך על העובדה שמערכות הפעלה שונות (אפילו גרסאות שונות של אותה מערכת הפעלה) מיישמות את התצורות השונות של TCP בצורה מעט שונה, כגון בגודל מנות הנתונים, מספר היציאות הפתוחות, השירותים הרצים עליהם וכן הלאה. . ניתן לשלב את כל המידע הזה כדי לבצע 'טביעת אצבע' ייחודית לזיהוי מכשירים.
הדרך הטובה ביותר להגן מפני זה היא להגביל את סוג התעבורה שאליה מגיב המכשיר שמפעיל את כלי הגרידה שלך. אם אתה משתמש בשירות גרידה של צד שלישי, ייתכן שיש להם כבר תכונות נגד טביעות אצבע מובנות. בדוק עם מפתח האפליקציה כדי לאשר.
8. השתמשו בדפדפן ללא ראש
חלק מהאתרים עושים יותר מאשר רק לבדוק את כתובת ה-IP וכותרת ה-HTTP המשמשת את הבוט שלך. במקום זאת, הם יבדקו נתוני דפדפן אחרים כמו הרחבות מותקנות, גופנים בשימוש וקובצי Cookie כדי לקבוע אם אדם אמיתי מתחבר.
אי אפשר לדעת את כל הקריטריונים שהאתר יקבע לפני שמחליטים אם דפדפן מופעל על ידי אדם אמיתי.
למרבה המזל, יש דרך פשוטה לעקיפת הבעיה באמצעות דפדפן חסר ראש. אלה פועלים בדיוק באותו אופן כמו דפדפן אינטרנט רגיל אך אין להם GUI (ממשק משתמש גרפי). מצב ללא ראש נתמך בכל הדפדפנים מבוססי Firefox ו-Chromium כמו Google Chrome.
שימוש בדפדפן חסר ראש עושה יותר מאשר עוזר להתנגד לזיהוי קצת. למרות שבדרך כלל קשה מאוד לגרד נתונים הנטענים באמצעות Javascript (ראה להלן), שימוש בדפדפן במצב זה מאפשר לך לעשות זאת.
מתכנתים מנוסים יכולים להשתמש בחבילת כלים כמו סלניום כדי ליישם דפדפנים חסרי ראש. אם אתה משתמש בשירות גירוד נתונים של צד שלישי, הם עשויים לתמוך בתכונה זו מהקופסה. דבר עם מפתח האפליקציה כדי לבדוק אם זה המקרה.
9. הימנע מ-JavaScript
דפי אינטרנט מודרניים רבים משתמשים ב-JavaScript כדי להציג תוכן המבוסס על פעולות משתמש, כגון כאשר משתמשים מוסיפים פריט לעגלת הקניות או מכניסים טקסט לתיבת חיפוש.
אלא אם כן אתה משתמש בדפדפן ללא ראש (ראה למעלה), סוג זה של נתונים קשה מאוד לאסוף. אתה יכול להגדיר את הבוט שלך לנסות, אבל זה יכול לגרום להאטה של המערכת, דליפות זיכרון ושלל בעיות אחרות, לכן עליך להימנע מ-JavaScript אלא אם כן הכרחי.
דפדפנים הנשלטים על ידי Scraper מכילים לעתים קרובות מידע נוסף על סביבת JavaScript המצביע על כך שהדפדפן פועל ללא GUI (דפדפנים ללא ראש) או פועל על מערכות הפעלה לא שכיחות כמו לינוקס.
כדי למנוע דליפת נתונים דרך משתני javascript, אתה יכול להגדיר את הבוט שלך להשתמש בערכים מזויפים. תיקון נפוץ אחד הוא להגדיר את 'navigator.webdriver' ל'false', מכיוון שרבים משתמשים בהגדרה הרבה יותר יוצאת דופן 'true'.
באופן טבעי הערכים שתגדיר וכמה יעילים אלה יהיו להתנגד לטביעות אצבע יהיו תלויים בתצורת הבוט והדפדפן שלך. ישנם מספר כלים מקוונים שאתה יכול לפרוס כמו ' Headless Cat N Mouse ' כדי לבדוק אם יש דליפות נתונים של JavaScript. לחלופין, אתה יכול להירשם לשירות מגרד שכבר כולל תכונות זיהוי אנטי-JavaScript מובנות.
10. שימו לב לשינויים באתר
אתרי אינטרנט מתעדכנים באופן קבוע ואם השינויים בפריסה דרסטיים מדי, זה יכול להשתמש במגרד שלך כדי להישבר. בדרך כלל זו אינה בעיה עבור כלי הגרידה עצמו מכיוון שאתה יכול פשוט להגדיר אותו מחדש כך שישקף את פריסת האתר החדשה. עדיין אם בוט מנסה שוב ושוב לגשת לדפים לא חוקיים, הוא עלול להיות מסומן בסימון אדום וחסום על ידי האתר.
למרבה הצער, אין לזה פתרון מהיר. תצטרך לחקור אתרי יעד לפני שתתחיל לגרד כדי לבדוק אם יש פריסות חריגות. זה גם מועיל להגדיר ניטור כדי לוודא שהמגרד שלך עדיין עובד. זה די קל להגדרה, מכיוון שאתה יכול פשוט לבדוק את מספר הבקשות המוצלחות שהבוט שלך עושה בכל סריקה – אם למשל באתר היעד שלך יש 65 דפים, היית מצפה שמספר הבקשות המוצלחות יהיה 65.
אתה יכול גם לבצע בדיקת יחידה עבור בוט המגרד שלך מול דפי אתר עם פריסה ידועה, כגון דף המוצר הראשי. אם אתה בודק על בסיס כתובת אתר לפי כתובת אתר, יש סיכוי נמוך יותר שהבוט שלך יסומן על ביצוע מספר בקשות לא חוקיות. אם אתה מזהה שינוי ששובר את האתר כולו, תוכל להגדיר מחדש את הבוט שלך לפני שתנסה להתחבר שוב.
11. הוצאת מטמון
אם אתר אינטרנט התנגד לכל הניסיונות לגרידה, כמוצא אחרון אתה יכול לתכנת את הבוט שלך לסרוק את הגרסה השמורה שלו של Google.
זה מאוד פשוט לביצוע, מכיוון שאתה רק צריך להוסיף את הדברים הבאים להתחלה של כל כתובת אתר:
" http://webcache.googleusercontent.com/search?q=cache :"
לדוגמה, כתובת האתר לגישה לגרסה שמור של ארכיון האינטרנט (archive.org) תהיה:
" https://webcache.googleusercontent.com/search?q=cache:https://www.archive.org "
זוהי דרך מצוינת לעקיפת הבעיה, אך אם אתה טוען דף בצורה זו, תראה אזהרה חשובה: מכיוון שהדף שמור במטמון, לא ניתן להשתמש בו כדי לגשת למידע בזמן אמת. זה חשוב אם אתה צריך לגרד נתונים כמו מחירי מכירות נוכחיים או מספרי מלאי.
חלק מהאתרים גם לא מאפשרים לגוגל לאחסן עותקים שמורים במטמון, אז השתמש בזה לפי שיקול דעתך.