הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאיבת מידע מאתר. (https://hosts.co.il/forums/showthread.php?t=106533)

dor77 10-03-14 15:57

שאיבת מידע מאתר.
 
שלום.
אני רוצה לשאוב מידע (הכל חוקי) מדף כלשהו.
בדף יש מספר שמשתנה באופן חי (AJAX) או משהו..כלומר לא צריך לרענן את בדף.
בכל אופן אני צריך דרך ךשאוב את המידע.
יש לי 2 שאלות:
1. אם אעשה זאת באמצעות file_get_content האם האתר שממנו אני שואב יוכלו לזהות שזוהי פונקציה שנכנסה לקוד מקור ולא באופן אנושי?
2. האם יש דרך לשאוב מידע מבלי שהאתר שממנו נשאב המידע ידעו?
ב file_get_content יראו שהתבצעה כניסה..האם יש דרך להסתיר זאת?
שוב, המידע משתנה באופן תמישי, בלי צורך לרענן.

תודה רבה.

בניה 10-03-14 16:13

בוא נפשט את השאלה ונכתוב אותה במונחים המקצועיים:

יש לך URL שאתה רוצה לשלוח מהשרת שלך אליו בקשת HTTP כל X שניות ולנתח את הטקסט שהתקבל בחזרה.

מכיוון שאתה שולח את בקשת הHTTP אתה יכול לשלוט בכל המרכיבים שלה, אפילו שתראה כמו בקשה שכל דפדפן היה שולח. אפשר לעשות את זה אפילו אם אתה משתמש ב file_get_conmtens אם אתה נעזר בHTTP CONTEXT, אני אישית מעדיף לעבוד עם CURL

http://www.php.net/manual/en/context.http.php

הבעיה העיקרית שלך תהיה שכל הבקשות ישלחו מאותו IP/קבוצה מצומצמת של IPS ויוכלו לחסום אותך בקלות יחסית אם ירצו.

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

dor77 10-03-14 19:49

אין לי בעיה שיראו שזה מאותו ip. אני הולך לבקר אץ הדף כל 10 דקות בערך..לא כל כמה שניות.
שק עזרה איך לעשות עם curl ושיראה כמו דפדפן?
אשמח לעזרה, תודה!

אדיר 10-03-14 22:13

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

dor77 10-03-14 23:32

למה? הוא עדיין חלק המקוד מקור, מדוע איכפת לי איך הוא הגיע?

אדיר 10-03-14 23:46

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

dor77 10-03-14 23:55

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

אדיר 11-03-14 00:07

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


כל הזמנים הם GMT +2. הזמן כעת הוא 09:53.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ