Semalt: 3 lépés a PHP weblapok lekaparásához

A webes adatgyűjtés, amelyet webadatok kibontására vagy webes adatgyűjtésre is neveznek, az az adatgyűjtési folyamat egy weboldalról vagy blogból. Ezt az információt akkor használják metacímkék, metaleírások, kulcsszavak és egy webhelyre mutató hivatkozások beállításához, javítva annak általános teljesítményét a keresőmotor eredményeiben.

Két fő technikát használunk az adatok lekaparására:

  • Dokumentum elemzés - XML vagy HTML dokumentumot foglal magában, amelyet DOM (Document Object Model) fájlokká konvertálnak. A PHP nagyszerű DOM kiterjesztést biztosít nekünk.
  • Rendszeres kifejezések - Ez egy módszer a webes dokumentumokból reguláris kifejezések formájában történő lekaparására.

A harmadik fél webhelyének kaparási adatai a szerzői jogokkal kapcsolatosak, mivel nincs engedélyük ezen adatok felhasználására. A PHP-vel azonban az adatok egyszerűen lekaparhatók a szerzői jogokkal vagy az alacsony minőséggel kapcsolatos problémák nélkül. Mint PHP programozó, kódoláshoz szüksége lehet különféle webhelyek adataira. Itt megmagyaráztuk, hogyan lehet hatékonyan beszerezni az adatokat más webhelyekről, de ezt megelőzően ne feledje, hogy a végén index.php vagy scrape.js fájlokat kap.

1. lépés: Az űrlap létrehozása a webhely URL-jének megadásához:

Először az űrlapot kell létrehoznia az index.php fájlban, ha rákattint a Küldés gombra, és beírja a weboldal URL-jét az adatok lekaparásához.

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

Adja meg a webhely URL-jét az adatok lekaparásához

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

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

</ Form>

2. lépés: Hozzon létre PHP függvényt weboldal adatainak lekéréséhez

A második lépés a PHP függvénykazetták létrehozása a scrape.php fájlban, mivel ez elősegíti az adatok lekérését és az URL-könyvtár használatát. Ez azt is lehetővé teszi, hogy probléma nélkül csatlakozzon és kommunikáljon a különféle szerverekkel és protokollokkal.

scrapeSiteData függvény ($ website_url) {

if (! function_exists ('curl_init')) {

die ('A CURL nincs telepítve. Kérjük, telepítse és próbálja újra.');

}

$ curl = curl_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, igaz);

$ output = curl_exec ($ curl);

curl_close ($ curl);

visszatér $ output;

}

Itt láthatjuk, hogy a PHP cURL telepítve van-e vagy sem. Három fő CURL-t kell használni a funkciók területén, és a curl_init () segít a munkamenetek inicializálásában, a curl_exec () végrehajtja azt és a curl_close () segít a kapcsolat bezárásában. Az olyan változók, mint a CURLOPT_URL, a webhely URL-jének beállításához kerülnek felhasználásra. A második CURLOPT_RETURNTRANSFER segít a lekaparott oldalakat a változó formában tárolni, nem pedig az alapértelmezett formában, amely végül a teljes weblapot megjeleníti.

3. lépés: Kaparja a weboldalra vonatkozó specifikus adatokat:

Itt az ideje, hogy kezelje a PHP fájl funkcióit, és lehúzza a weboldal adott részét. Ha nem kívánja az összes adatot egy adott URL-től, akkor a szerkesztéshez használja a CURLOPT_RETURNTRANSFER változókat, és jelölje ki a lekaparni kívánt szakaszokat.

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

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

$ start_point = strpos ($ html, 'Legújabb hozzászólások');

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

$ hossz = $ vége_pont- $ kezdőpont;

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

echo $ html;

}

Javasoljuk, hogy fejlessze ki a PHP és a rendes kifejezések alapvető ismereteit, mielőtt ezen kódok bármelyikét felhasználná, vagy egy adott blogot vagy weboldalt személyes célokra lekaparna.