Semalt: 3 βήματα για την απομάκρυνση ιστοσελίδας PHP

Το web scraping, που ονομάζεται επίσης εξαγωγή δεδομένων ιστού ή συλλογή ιστοσελίδων, είναι η διαδικασία εξαγωγής δεδομένων από έναν ιστότοπο ή ιστολόγιο. Αυτές οι πληροφορίες στη συνέχεια χρησιμοποιούνται για τον καθορισμό μετα-ετικετών, μετα-περιγραφών, λέξεων-κλειδιών και συνδέσμων σε έναν ιστότοπο, βελτιώνοντας τη συνολική απόδοσή του στα αποτελέσματα της μηχανής αναζήτησης.

Δύο βασικές τεχνικές χρησιμοποιούνται για την απόσυρση δεδομένων:

  • Ανάλυση εγγράφων - Περιλαμβάνει ένα έγγραφο XML ή HTML που μετατρέπεται σε αρχεία DOM (Document Object Model). Η PHP μας προσφέρει εξαιρετική επέκταση DOM.
  • Κανονικές εκφράσεις - Είναι ένας τρόπος απόσυρσης δεδομένων από τα διαδικτυακά έγγραφα με τη μορφή κανονικών εκφράσεων.

Το πρόβλημα με την απόσυρση των δεδομένων τρίτου ιστότοπου σχετίζεται με τα πνευματικά του δικαιώματα, επειδή δεν έχετε άδεια να χρησιμοποιήσετε αυτά τα δεδομένα. Αλλά με PHP, μπορείτε εύκολα να αποκόψετε δεδομένα χωρίς προβλήματα που σχετίζονται με πνευματικά δικαιώματα ή χαμηλή ποιότητα. Ως προγραμματιστής PHP, ενδέχεται να χρειαστείτε δεδομένα από διαφορετικούς ιστότοπους για σκοπούς κωδικοποίησης. Εδώ έχουμε εξηγήσει πώς να λαμβάνουμε δεδομένα από άλλους ιστότοπους αποτελεσματικά, αλλά πριν από αυτό, πρέπει να έχετε υπόψη σας ότι στο τέλος θα λάβετε είτε αρχεία index.php ή scrape.js.

Βήματα 1: Δημιουργήστε φόρμα για να εισαγάγετε τη διεύθυνση URL του ιστότοπου:

Πρώτα απ 'όλα, θα πρέπει να δημιουργήσετε φόρμα στο index.php κάνοντας κλικ στο κουμπί Υποβολή και εισαγάγετε τη διεύθυνση URL του ιστότοπου για τη συλλογή δεδομένων.

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

Εισαγάγετε τη διεύθυνση URL του ιστότοπου για να αποκόψετε δεδομένα

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

<input type = "submit" name = "submit" value = "Submit">

</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, true).

$ έξοδος = curl_exec ($ curl);

curl_close ($ curl);

επιστροφή εξόδου $;

}

Εδώ, μπορούμε να δούμε αν το PHP cURL έχει εγκατασταθεί σωστά ή όχι. Τρία κύρια cURL πρέπει να χρησιμοποιηθούν στην περιοχή λειτουργιών και το curl_init () θα βοηθήσει στην προετοιμασία των συνεδριών, το curl_exec () θα το εκτελέσει και το curl_close () θα σας βοηθήσει να κλείσετε τη σύνδεση. Οι μεταβλητές όπως το CURLOPT_URL χρησιμοποιούνται για τον καθορισμό των διευθύνσεων URL του ιστότοπου που πρέπει να διαγράψουμε. Το δεύτερο CURLOPT_RETURNTRANSFER θα βοηθήσει στην αποθήκευση των αποκομμένων σελίδων στη μεταβλητή μορφή και όχι στην προεπιλεγμένη μορφή της, η οποία τελικά θα εμφανίσει ολόκληρη την ιστοσελίδα.

Βήματα 3: Ξύστε συγκεκριμένα δεδομένα από τον ιστότοπο:

Ήρθε η ώρα να χειριστείτε τις λειτουργίες του αρχείου PHP και να ξύσετε τη συγκεκριμένη ενότητα της ιστοσελίδας σας. Εάν δεν θέλετε όλα τα δεδομένα από μια συγκεκριμένη διεύθυνση URL, θα πρέπει να επεξεργαστείτε τη χρήση των μεταβλητών CURLOPT_RETURNTRANSFER και να επισημάνετε τις ενότητες που θέλετε να αποκόψετε.

if (isset ($ _ POST ['υποβολή'])) {

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

$ start_point = strpos ($ html, "Τελευταίες δημοσιεύσεις");

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

$ length = $ end_point- $ start_point;

$ html = substr ($ html, $ start_point, $ length);

echo $ html;

}

Σας προτείνουμε να αναπτύξετε τις βασικές γνώσεις της PHP και των Regular Expressions προτού χρησιμοποιήσετε οποιονδήποτε από αυτούς τους κωδικούς ή αποκόψτε ένα συγκεκριμένο ιστολόγιο ή ιστότοπο για προσωπικούς σκοπούς.

mass gmail