Semalt: 3 koraki za strganje spletnih strani PHP

Spletno strganje, imenovano tudi črpanje spletnih podatkov ali spletna nabiranje, je postopek pridobivanja podatkov s spletnega mesta ali bloga. Te informacije se nato uporabijo za nastavitev metaoznak, meta opisov, ključnih besed in povezav do spletnega mesta, kar izboljša njegovo splošno uspešnost v rezultatih iskalnika.

Za strganje podatkov se uporabljata dve glavni tehniki:

  • Razčlenitev dokumentov - vključuje dokument XML ali HTML, ki se pretvori v datoteke DOM (Document Object Model). PHP nam ponuja veliko DOM razširitev.
  • Navadni izrazi - gre za način zapisovanja podatkov s spletnih dokumentov v obliki navadnih izrazov.

Težava z zapisovanjem podatkov o spletnem mestu tretjih oseb je povezana z avtorskimi pravicami, ker nimate dovoljenja za uporabo teh podatkov. Toda s PHP-om lahko preprosto postrežete podatke brez težav, povezanih z avtorskimi pravicami ali nizko kakovostjo. Kot programer PHP boste za potrebe kodiranja morda potrebovali podatke z različnih spletnih mest. Tu smo razložili, kako učinkovito pridobiti podatke z drugih spletnih mest, vendar morate pred tem upoštevati, da boste na koncu dobili datoteke index.php ali scrape.js.

1. korak: ustvarite obrazec za vnos URL-ja spletnega mesta:

Najprej ustvarite obrazec v index.php s klikom na gumb Pošlji in vnesite URL spletnega mesta za zapis podatkov.

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

Vnesite URL spletnega mesta za strganje podatkov

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

<input type = "submit" name = "submit" value = "Pošlji">

</form>

Koraki 2: Ustvarite funkcijo PHP za pridobivanje podatkov o spletnem mestu:

Drugi korak je ustvariti scrapes funkcije PHP v datoteki scrape.php, saj bo to pomagalo pri pridobivanju podatkov in uporabi knjižnice URL. Omogočil vam bo tudi povezavo in komunikacijo z različnimi strežniki in protokoli brez kakršnih koli težav.

funkcija scrapeSiteData ($ website_url) {

if (! function_exists ('curl_init')) {

die ('cURL ni nameščen. Namestite in poskusite znova.');

}

$ curl = curl_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, resnično);

$ output = curl_exec ($ curl);

curl_close ($ curl);

vrniti $ output;

}

Tu lahko vidimo, ali je PHP cURL pravilno nameščen ali ne. V območju funkcij je treba uporabiti tri glavne cURL, curl_init () pa bo pomagal inicializirati seje, curl_exec () jo bo izvedel, curl_close () pa bo pomagal zapreti povezavo. Spremenljivke, kot je CURLOPT_URL, se uporabljajo za določanje URL-jev spletnih strani, ki jih potrebujemo za izbris. Drugi CURLOPT_RETURNTRANSFER bo pomagal shraniti strgane strani v spremenljivo obliko in ne v privzeto obliko, ki bo na koncu prikazala celotno spletno stran.

Koraki 3: Strpite posebne podatke s spletnega mesta:

Čas je, da obravnavate funkcionalnosti datoteke PHP in postrgate določen odsek vaše spletne strani. Če ne želite, da so vsi podatki z določenega URL-ja, uredite s pomočjo CURLOPT_RETURNTRANSFER spremenljivk in označite razdelke, ki jih želite izbrisati.

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

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

$ start_point = strpos ($ html, 'Najnovejše objave');

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

$ length = $ end_point- $ start_point;

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

echo $ html;

}

Predlagamo vam, da razvijete osnovno znanje o PHP in regularnih izrazih, preden uporabite katero koli od teh kod ali posnamete določen blog ali spletno mesto za osebne namene.