Completamento README prima versione

This commit is contained in:
loviuz 2022-01-08 20:39:22 +01:00
parent 2ebea9e816
commit 99f0fbed83
2 changed files with 23 additions and 3 deletions

View File

@ -1,3 +1,23 @@
# structured_scraper
# Structured Scraper
Uno scraper di documenti configurabile e strutturato.
Uno scraper di documenti configurabile e strutturato.
## 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

View File

@ -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 `<a>` 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