Semalt: 3 sammu PHP veebilehe kraapimiseks

Veebi kraapimine, mida nimetatakse ka veebiandmete ekstraheerimiseks või veebi koristamiseks, on andmete väljavõtmine veebisaidilt või ajaveebist. Seda teavet kasutatakse seejärel metasiltide, metakirjelduste, märksõnade ja saidi linkide määramiseks, parandades selle üldist toimivust otsingumootori tulemustes.

Andmete kraapimiseks kasutatakse kahte peamist tehnikat:

  • Dokumendi parsimine - see hõlmab XML- või HTML-dokumenti, mis teisendatakse DOM-failideks (Document Object Model). PHP pakub meile suurepäraseid DOM-i laiendeid.
  • Regulaarsed avaldised - see on viis kraapida veebidokumentidest andmeid tavaliste avaldiste kujul.

Kolmanda osapoole veebisaidi kraapimisandmetega seotud probleem on seotud selle autoriõigustega, kuna teil pole luba nende andmete kasutamiseks. Kuid PHP-ga saate andmeid hõlpsalt kraapida ilma autoriõigustega või madala kvaliteediga seotud probleemideta. PHP-programmeerijana peate kodeerimise jaoks vajama eri veebisaitide andmeid. Siin oleme selgitanud, kuidas teistelt saitidelt andmeid tõhusalt hankida, kuid enne seda peaksite meeles pidama, et lõpuks saate failid index.php või scrape.js.

1. samm: looge veebisaidi URL-i sisestamiseks vorm:

Kõigepealt peaksite looma vormi index.php-is, klõpsates nuppu Esita ja sisestades veebisaidi URL-i andmete kraapimiseks.

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

Andmete kraapimiseks sisestage veebisaidi URL

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

<sisestustüüp = "esita" name = "esita" väärtus = "Esita">

</form>

2. samm: PHP-funktsiooni loomine veebisaidi andmete saamiseks:

Teine samm on PHP-funktsiooni sissekannete loomine faili scrape.php, kuna see aitab andmeid hankida ja URL-i teeki kasutada. See võimaldab teil ka ilma probleemideta ühenduse luua ja suhelda erinevate serverite ja protokollidega.

funktsioon scrapeSiteData ($ website_url) {

if (! function_existing ('curl_init'))) {

die ('cURL pole installitud. Palun installige ja proovige uuesti.');

}

$ curl = curl_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, tõsi);

$ output = curl_exec ($ curl);

curl_close ($ curl);

tagasi $ väljund;

}

Siit näeme, kas PHP cURL on õigesti installitud või mitte. Funktsioonide piirkonnas tuleb kasutada kolme peamist cURL-i ja curl_init () aitab seansse initsialiseerida, curl_exec () käivitab selle ja curl_close () aitab ühenduse sulgeda. Muutujaid, näiteks CURLOPT_URL, kasutatakse veebisaidi URL-ide seadmiseks, mida peame kraapima. Teine CURLOPT_RETURNTRANSFER aitab kraapitud lehti salvestada pigem muutuvvormis kui vaikevormis, mis lõpuks kuvab kogu veebilehe.

3. samm: kraapige konkreetsed andmed veebisaidilt:

On aeg käsitleda oma PHP-faili funktsioone ja kraapida oma veebilehe konkreetne osa. Kui te ei soovi kõiki andmeid konkreetselt URL-ilt, peaksite redigeerima muutujatega CURLOPT_RETURNTRANSFER ja tõstke esile jaotised, mida soovite kraapida.

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

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

$ start_point = strpos ($ html, 'Viimased postitused');

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

$ pikkus = $ lõpp_punkt - $ alguspunkt;

$ html = substr ($ html, $ alguspunkt, $ pikkus);

echo $ html;

}

Enne nende koodide kasutamist või konkreetse ajaveebi või veebisaidi isiklikel eesmärkidel kraapimist soovitame teil arendada PHP ja tavaliste avaldiste põhiteadmisi.