Semalt: 3 שלבים לגריטת דפי PHP

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

שתי טכניקות עיקריות משמשות לגריטת נתונים:

  • ניתוח מסמכים - זה כרוך במסמך XML או HTML שמומר לקבצי DOM (Model Object Model). PHP מספק לנו סיומת DOM נהדרת.
  • ביטויים רגילים - זוהי דרך לגרד נתונים ממסמכי האינטרנט בצורה של ביטויים רגילים.

הבעיה עם נתונים הגריטה של אתר צד ג 'קשורה בזכויות היוצרים שלו מכיוון שאין לך הרשאה להשתמש בנתונים אלה. אבל עם PHP, אתה יכול בקלות לגרד נתונים ללא בעיות הקשורות בזכויות יוצרים או באיכות נמוכה. כמתכנת PHP, יתכן שתזדקק לנתונים מאתרים שונים למטרות קידוד. כאן הסברנו כיצד לקבל נתונים מאתרים אחרים ביעילות, אך לפני כן, עליכם לזכור שבסוף תקבלו קבצי index.php או scrape.js.

שלבים 1: צור טופס להזנת כתובת האתר:

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

<form method = "post" name = "scrape_form" id = "scrap_form" acti>

הזן כתובת אתר לאתר כדי לגרד נתונים

<input type = "input" name = "website_url" id = "website_url">

<input type = "submit" name = "submit" value = "שלח">

</form>

שלבים 2: צור פונקציית PHP לקבלת נתוני אתר:

השלב השני הוא ליצור שריטות של פונקציות PHP בקובץ scrape.php שכן זה יעזור להשיג נתונים ולהשתמש בספריית ה- URL. זה גם יאפשר לך להתחבר ולתקשר עם שרתים ופרוטוקולים שונים ללא כל בעיה.

פונקציה scrapeSiteData ($ website_url) {

אם (! function_exists ('curl_init')) {

die ('cURL לא מותקן. אנא התקן ונסה שוב.');

}

$ curl = curl_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, נכון);

$ output = curl_exec ($ curl);

curl_close ($ curl);

להחזיר פלט $;

}

כאן, אנו יכולים לראות אם ה- PHP cURL הותקן כראוי או לא. יש להשתמש בשלושה CURLs עיקריים באזור הפונקציות ו- curl_init () יעזור לאתחל את הפגישות, curl_exec () יבצע אותו ו- curl_close () יעזור בסגירת החיבור. המשתנים כמו CURLOPT_URL משמשים להגדרת כתובות האתר שאנו צריכים לגרד. CURLOPT_RETURNTRANSFER השני יעזור לאחסן את הדפים הגרוטים בצורה המשתנה ולא את צורת ברירת המחדל שלה, שתציג בסופו של דבר את כל דף האינטרנט.

שלבים 3: גרד נתונים ספציפיים מהאתר:

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

if (isset ($ _ POST ['שלח'])) {

$ html = scrapeWebsiteData ($ _ POST ['website_url']);

$ start_point = strpos ($ html, 'ההודעות האחרונות');

$ end_point = strpos ($ html, '', $ start_point);

אורך $ = נקודת סוף נקודה - נקודת התחלה $;

$ html = substr ($ html, $ start_point, $ אורך);

הד $ html;

}

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