diff --git a/README.md b/README.md index 605bda3..6097c72 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,23 @@ -# structured_scraper +# Structured Scraper +Uno scraper di documenti configurabile e strutturato. -Uno scraper di documenti configurabile e strutturato. \ No newline at end of file +## Come installare +Scaricare le dipendende con composer: + +` +php composer.phar install +` + +## Come funziona +Occorre creare un file di configurazione partendo dal file di esempio `config.example.php`. In questo file vanno definiti: +- **$start_url:** è un array contenente le URL di partenza da scansionare +- **$link_rules:** sono le regole per trovare i sub-link. Partendo dalla prima URL infatti lo script non scansiona tutti i link ma solamente quelli che corrispondono al pattern XPath definito in questo array, in ordine di profondità, cioè nel primo URL scansionato vengono filtrati i sub-link in base alla regola XPath con indice 0, nella pagina contenuta nel prossimo sub-link verranno estratti i link in base alla regola XPath con indice 1, e così via +- **$allowedMimetypes:** è un array che indica quali file scaricare in base al mime-type. E' un array associativo perché quando viene trovato un link con il mime-type corrispondente viene scaricato applicando l'estensione associata (nei casi in cui il nome del file non sia chiaro dal'URL) +- **$download_dir:** è semplicemente la directory dove salvare i file trovati. + +## Demo +Per provarlo in funzione è possibile usare la cartella `example` come test. All'interno ci sono le [istruzioni](example/). + +## TODO +- [ ] Salvare in un database locale le URL già scansionate, per evitare di ri-scaricare gli stessi file +- [ ] Eseguire le chiamate http in parallelo per velocizzare la procedura \ No newline at end of file diff --git a/example/README.md b/example/README.md index d92d48e..22352d3 100644 --- a/example/README.md +++ b/example/README.md @@ -8,7 +8,7 @@ http://localhost/example Copia anche il file `example/config.php` nella root dello scraper, così da configurare l'URL e come filtri di ricerca ad ogni livello di profondità un semplice tag `` per il test. -Inserendo negli `$start_url` l'indirizzo sopra e avviando lo script, l'output dovrebbe essere: +Inserendo negli `$start_url` l'indirizzo sopra e avviando lo script, dovreste trovare nella cartella `pdf/` il file `test.pdf` e l'output dovrebbe essere il seguente: ``` [0] http://localhost/example