Anonim

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

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

Ajaxified נתונים מתורגמים

אם יש לך הרבה נתונים שעברו עימוד, ואתה מעביר את הנתונים שלך רק על ידי הוספת מספר אחר לסוף כתובת האתר שלך, כלומר http://www.domain.com/category/programming/2 - אז אתה מבצע העבודה הרבה יותר קלה של הסורק. הבעיה הראשונה היא שתבנית זו ניתנת לזיהוי בקלות, כך שהגדרת מגרד משוחרר בעמודים אלה היא קלה כמו עוגה. בעיה שנייה, ללא קשר לכתובת האתר של העמודים הבאים בקטגוריה, סביר להניח שיהיה קישור הבא והקודם שאליו יוכלו להתחבר.

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

אקרא פלט תבנית

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

סיר דבש

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

  • צור קובץ חדש בשרת שלך שנקרא gotcha.html.
  • בקובץ robots.txt, הוסף את הדברים הבאים:
    סוכן משתמש: *
    בטל: /gotcha.html

    זה אומר לכל הרובוטים והעכבישים שקיימים באינדקס של האתר שלך לא לאינדקס את הקובץ gotcha.html. כל סורק אינטרנט רגיל יכבד את רצונות קובץ ה- robots.txt שלך ולא יגיע לקובץ זה. כלומר, גוגל ובינג. יתכן שתרצה ליישם שלב זה, ולחכות 24 שעות לפני שתעבור לשלב הבא. זה יבטיח שסורק לא ייחסם על ידיך בטעות בגלל העובדה שהוא כבר היה באמצע הסריקה כשעדכנת את קובץ robots.txt שלך.
  • מקם קישור לאתר gotcha.html איפשהו באתר שלך. לא משנה איפה. אני ממליץ בכותרת התחתונה, עם זאת, וודא שהקישור הזה לא נראה, ב- CSS, הצג: none;
  • כעת, רשמו את ה- IP / מידע כללי של ההפקה שביקרה בדף זה וחסמו אותו. לחלופין, תוכל למצוא סקריפט שיספק להם נתונים שגויים ואשפה. או אולי הודעה אישית נחמדה ממך.

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

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

כתוב נתונים לתמונות תוך כדי תנועה

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

אלטרנטיבי

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

אל תעשו את הטעות הזו

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

מניעת גרידת אתרים