Semalt: 3 žingsniai į PHP tinklalapio grandymą

Žiniatinklio duomenų rinkimas, dar vadinamas žiniatinklio duomenų gavimu ar rinkimu internete, yra duomenų išgavimo iš svetainės ar tinklaraščio procesas. Tada ši informacija naudojama nustatant metažymas, meta aprašymus, raktinius žodžius ir nuorodas į svetainę, gerinant bendrą jos našumą paieškos sistemos rezultatuose.

Duomenims grandyti naudojami du pagrindiniai metodai:

  • Dokumentų analizė - tai apima XML arba HTML dokumentus, kurie yra konvertuojami į DOM (Document Object Model) failus. PHP suteikia mums puikų DOM plėtinį.
  • Reguliarios išraiškos - tai būdas nuskaityti duomenis iš žiniatinklio dokumentų įprastų išraiškų pavidalu.

Trečiųjų šalių tinklalapio duomenų rinkimo problema yra susijusi su jos autorių teisėmis, nes jūs neturite leidimo naudoti šiuos duomenis. Bet naudodamiesi PHP, galite lengvai nuskaityti duomenis be problemų, susijusių su autorių teisėmis ar žema kokybe. Kaip PHP programuotojui, kodavimo tikslais jums gali prireikti duomenų iš skirtingų svetainių. Čia mes paaiškinome, kaip efektyviai gauti duomenis iš kitų svetainių, tačiau prieš tai turėtumėte atsiminti, kad pabaigoje gausite arba index.php, arba scrape.js failus.

1 veiksmas: sukurkite formą, kad įvestumėte svetainės URL:

Pirmiausia turėtumėte sukurti formą indekse.php spustelėdami mygtuką Pateikti ir įveskite svetainės URL, kad būtų galima nuskaityti duomenis.

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

Įveskite svetainės URL, kad būtų galima nuskaityti duomenis

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

<įvesties tipas = "pateikti" name = "pateikti" vertė = "pateikti">

</form>

2 veiksmas: sukurkite PHP funkciją, kad gautumėte svetainės duomenis:

Antras žingsnis yra sukurti PHP funkcijų iškarpas scrape.php faile, nes tai padės gauti duomenis ir naudoti URL biblioteką. Tai taip pat leis be jokių problemų susisiekti ir susisiekti su skirtingais serveriais ir protokolais.

funkcija scrapeSiteData ($ website_url) {

if (! function_exists ('curl_init')) {

die ('cURL neįdiegtas. Prašome įdiegti ir bandyti dar kartą.');

}

$ curl = curl_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, tiesa);

$ output = curl_exec ($ curl);

curl_close ($ curl);

grąžinti $ produkciją;

}

Čia matome, ar PHP CURL įdiegtas tinkamai, ar ne. Funkcijų srityje reikia naudoti tris pagrindinius CURL, o curl_init () padės inicijuoti sesijas, curl_exec () vykdys jį, o curl_close () padės uždaryti ryšį. Kintamieji, tokie kaip CURLOPT_URL, naudojami norint nustatyti svetainių URL, kuriuos turime nuskaityti. Antrasis CURLOPT_RETURNTRANSFER padės iškarpytus puslapius laikyti kintama forma, o ne numatytąja forma, kuri galiausiai parodys visą tinklalapį.

3 žingsnis: Nukreipkite konkrečius duomenis iš svetainės:

Laikas sutvarkyti savo PHP failo funkcijas ir nuskaityti konkrečią savo tinklalapio skiltį. Jei nenorite, kad visi duomenys būtų iš konkretaus URL, turėtumėte redaguoti naudodami CURLOPT_RETURNTRANSFER kintamuosius ir pažymėkite skyrius, kuriuos norite įbrėžti.

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

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

$ start_point = strpos ($ html, 'Naujausi įrašai');

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

$ ilgis = $ end_point- $ start_point;

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

echo $ html;

}

Mes siūlome prieš pradėdami naudoti bet kurį iš šių kodų ar nuskaityti tam tikrą tinklaraštį ar svetainę asmeniniais tikslais, pasisemti pagrindinių žinių apie PHP ir įprastas išraiškas.