
Forse hanno bisogno mai ottenere il contenuto, o parte di esso, un sito Web, Se si desidera raccogliere dati o per qualsiasi tipo di monitoraggio di una cosa, o semplicemente perché si desidera creare il proprio crawler, quali siti di scansione, come fare il bot Google, Bing, Yahoo,…
C'è una biblioteca molto utile che ci aiuta a svolgere questo compito in PHP. Il suo nome è Ricciolo e ti permette di connetterti ad altri ambienti utilizzando protocolli diversi. Utilizzando cURL, ci accingiamo a vedere come è possibile ottenere il contenuto di un sito Web in PHP.
Come ottenere il contenuto di una pagina Web utilizzando la libreria PHP cURL
Utilizzando la libreria cURL, È possibile ottenere il contenuto sito Web completo. Una volta che hai il tuo contenuto, È possibile eseguire qualsiasi ricerca su di esso. Come un esempio, nel codice in PHP che vi mostriamo qui, Abbiamo una funzione che ottiene il contenuto di un sito Web cui indirizzo URL viene passato come parametro, e restituisce una stringa che rappresenta la pagina web.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | function getContenidoWeb($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); $data = curl_exec($ch); curl_close($ch); return $data; } //Ejemplo de uso $cadena = getContenidoWeb('http://www.web.com'); |
Una volta che hai il contenuto web in una stringa, Una possibilità è parsearlo e trasformarlo in un oggetto XML o DOM, tanta più facile gestione.
Un esempio di questo è utilizzando la classe DOMDocument. Utilizzo di questa classe si può analizzare la stringa ottenuta in precedenza e trasformarlo in un oggetto XML o i suoi rispettivo albero DOM. Un esempio di questo è la seguente:
1 2 | $doc = new DOMDocument(); $doc->loadHTML($cadena); |
In questo codice, Possiamo vedere come, Innanzitutto, Creiamo un DOMDocument-documento, che successivamente caricare il contenuto della variabile $catena, che è quella ottenuta in precedenza funzione getContenidoWeb.
In questo modo è possibile ottenere il contenuto di una pagina Web utilizzando PHP e successivamente convertirla in XML, o suo rispettivo albero DOM per essere in grado di gestire meglio.
