Semalt: 3 trinn til skraping av PHP-webside

Webskraping, også kalt webdataekstraksjon eller innhøsting av nett, er prosessen med å trekke ut data fra et nettsted eller en blogg. Denne informasjonen blir deretter brukt til å angi metakoder, metabeskrivelser, nøkkelord og lenker til et nettsted, og forbedrer den generelle ytelsen i resultatene fra søkemotoren.

To hovedteknikker brukes til å skrape data:

  • Analyse av dokument - Det innebærer et XML- eller HTML-dokument som konverteres til DOM (Document Object Model) -filene. PHP gir oss flott DOM-utvidelse.
  • Vanlige uttrykk - Det er en måte å skrape data fra nettdokumentene i form av vanlige uttrykk.

Problemet med skrapedataene fra tredjeparts nettsted er relatert til opphavsretten fordi du ikke har tillatelse til å bruke disse dataene. Men med PHP kan du enkelt skrape data uten problemer knyttet til opphavsrett eller lav kvalitet. Som PHP-programmerer kan det hende du trenger data fra forskjellige nettsteder for kodingsformål. Her har vi forklart hvordan du kan få data fra andre nettsteder effektivt, men før det, må du huske at på slutten vil du skaffe enten index.php eller scrape.js-filer.

Trinn 1: Lag skjema for å oppgi nettadressen til nettstedet:

Først av alt, bør du opprette skjema i index.php ved å klikke på knappen Send og angi nettadressen for å skrape data.

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

Skriv inn nettadressen for å skrape data

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

<input type = "send" name = "send" value = "Send">

</ Form>

Trinn 2: Lag PHP-funksjon for å få data på nettstedet:

Det andre trinnet er å lage PHP-funksjonskrap i scrape.php-filen, da det vil bidra til å få data og bruke URL-biblioteket. Det vil også tillate deg å koble til og kommunisere med forskjellige servere og protokoller uten problemer.

funksjonen scrapeSiteData ($ website_url) {

if (! function_exists ('curl_init')) {

die ('cURL er ikke installert. Installer og prøv igjen.');

}

$ krøll = krøll_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, true);

$ output = curl_exec ($ curl);

curl_close ($ curl);

returnere $ output;

}

Her kan vi se om PHP cURL er riktig installert eller ikke. Tre viktigste CURL-er må brukes i funksjonsområdet og curl_init () vil hjelpe til med å initialisere øktene, curl_exec () vil utføre den og curl_close () vil bidra til å lukke forbindelsen. Variablene som CURLOPT_URL brukes til å angi nettadressene vi trenger å skrape. Den andre CURLOPT_RETURNTRANSFER vil hjelpe til med å lagre de skrapede sidene i variabelformen i stedet for standardformen, som til slutt vil vise hele websiden.

Trinn3: Skrap spesifikke data fra nettstedet:

Det er på tide å håndtere funksjonalitetene til PHP-filen og skrape den spesifikke delen av websiden din. Hvis du ikke vil ha alle dataene fra en spesifikk URL, bør du redigere bruke CURLOPT_RETURNTRANSFER-variablene og merke de seksjonene du vil skrape.

if (isset ($ _ POST [ 'submit'])) {

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

$ start_point = strpos ($ html, 'Siste innlegg');

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

$ lengde = $ end_point- $ start_point;

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

ekko $ html;

}

Vi foreslår at du utvikler den grunnleggende kunnskapen om PHP og de vanlige uttrykk før du bruker noen av disse kodene eller skraper en bestemt blogg eller nettsted for personlige formål.