סריקה של AJAX - 💡 Fix My Ideas

סריקה של AJAX

סריקה של AJAX


המחבר: Ethan Holmes, 2019

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

אז איך אנחנו הולכים על תיקון הבעיה?

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

Shreeraj Shah של נייר, סריקה אייאקס מונחה Web 2.0 יישומים, עושה עבודה טובה לתאר את "האירוע מונע" גישה אינטרנט זוחל. זה על יצירת מחלקה חכמה יותר של האינטרנט סריקת תוכנה אשר ניתן לאחזר, לבצע, ולנתח דינמי, תוכן DOM מונחה על ידי Davascript, כמו הרבה אדם יפעיל דפדפן אינטרנט מלא התכונות.

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

  1. ניתוח Javascript ופרשנות עם קישור
  2. DOM האירוע טיפול ושליחה
  3. מיצוי תוכן DOM דינמי

הכלים הדרושים הדרך הקלה ביותר ליישם סורק מאופשר על ידי AJAX, היא להשתמש בדפדפן מודרני כפלטפורמה בסיסית. ישנם כמה כלים זמינים, כלומר Watir ו Crowbar, אשר יאפשר לך לשלוט Firefox או IE מקוד, המאפשר לך לחלץ נתונים בדף לאחר זה עיבד כל Javascript.

Watir היא ספריה המאפשרת אוטומציה של הדפדפן באמצעות רובי. זה במקור נבנה עבור IE, אבל זה היה ported הן Firefox ו- Safari גם כן. ממשק ה- API של Watir מאפשר לך להפעיל תהליך דפדפן ולאחר מכן לחלץ ישירות וללחוץ על קישורי עוגן מיישום Ruby שלך. יישום זה לבד גורם לי לרצות להכיר יותר את רובי.

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

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

Crowbar - שרת בצד headless פיירפוקס ווטיר - דפדפן שלט רחוק ב Ruby Crawling אייאקס מונחה Web 2.0 יישומים (PDF)



אתה עשוי להתעניין

Crowdfunded תמונה ווידאו ציוד תן ליוצרים הרבה אפשרויות

Crowdfunded תמונה ווידאו ציוד תן ליוצרים הרבה אפשרויות


שמונה תוספות נהדר עבור פי שלך פטל

שמונה תוספות נהדר עבור פי שלך פטל


רובוטיקה פי פספוס עבור אנשים על הספקטרום האוטיזם

רובוטיקה פי פספוס עבור אנשים על הספקטרום האוטיזם


פיירפילד קאונטי Makers 'הגילדה פוסטר הקהילה היצירתית

פיירפילד קאונטי Makers 'הגילדה פוסטר הקהילה היצירתית






פוסטים אחרונים