WebScraping con PHP e Goutte

WebScraping con PHP e Goutte

Goutte è una libreria per il webscraping e il crwaling per PHP.

Si basa su diverse altre librerie, di cui sicuramente la più importante è DomCrawler.

Oggi ne vediamo un paio di esempi basici, senza andare troppo nel profondo; la mia era più una curiosità che un vero e proprio bisogno.

Per installare la libreria possiamo usare Composer:

$ composer require fabpot/goutte

Ci ha messo un pò per installare tutto.

Qui sotto un esempio di codice:

include_once 'vendor/autoload.php';

use Goutte\Client;

$client = new Client();
$crawler = $client->request('GET', 'https://www.mattepuffo.com/');

$crawler->filter('h2 > a')->each(function ($node) {
    echo $node->text() . "<br>";
});

$link = $crawler->selectLink('Creare QRCode in Java con QRGen')->link();
$crawler = $client->click($link);
var_dump($crawler);

Prima prendiamo tutti i link che si trovano in un tag H2; sostanzialmente i titoli della pagina, escludendo tutti gli latri link.

Poi andiamo a cerca un link specifico simulando un click del mouse, mostrando il contenuto di quella pagina.

La libreria può fare molto di più ovviamente; può anche inviare form.

Enjoy!




Share

Commentami!

About Mattepuffo.com

Blog dedicato all'informatica e alla programmazione!
Tutti i contenuti di questo blog, tranne casi particolari, sono sotto licenza Licenza Creative Commons Creative Commons Attribution-Noncommercial-Share Alike 2.5. .

2626 articoli
310 commenti
19 progetti
Altri link
  • About
  • Scrivimi
  • Copyright
  • Sitemap
  • matteo.ferrone@yahoo.it
  • GitHub
  • Privacy Policy