Indicizzazione locale o intranet

I Prima di far partire il crawler, dobbiamo creare un semplice file di testo senza estensione nella sottocartella urls e scrivere in esso l’insieme delle url da cui il crawler inizia a raccogliere tutte le pagine dei relativi siti.

Lo strumento crawl usa un filtro per decidere quali URL andranno nel WebDB. Questo può essere usato per restringere il crawl agli url che fanno match con un certo pattern, specificato da un’espressione regolare. Quindi si deve modificare il file $NUTCH_HOME/conf/craw l-urlfilter.txt, contenente le regole imposte al crawler:

# The url filter file used by the crawl command.

# Better for intranet crawling.
# Be sure to change +^http://([a-z0-9]*\.)*apache.org/ to your domain name.
+^http://([a-z0-9]*\.)*apache.org/

# Each non-comment, non-blank line contains a regular expression
# prefixed by '+' or '-'. The first matching pattern in the file
# determines whether a URL is included or ignored. If no pattern
# matches, the URL is ignored.

# skip file:, ftp:, & mailto: urls
-^(file|ftp|mailto):

# skip image and other suffixes we can't yet parse
-\.(gif|GIF|jpg|JPG|ico|ICO|css|sit|eps|wmf|zip|ppt|mpg|xls|gz|rpm|tgz|mov|MOV|exe|png)$

# skip URLs containing certain characters as probable queries, etc.
-[?*!@=]

# skip URLs with slash-delimited segment that repeats 3+ times, to break loops
-.*(/.+?)/.*?\1/.*?\1/

# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*NOME_DOMINIO
# skip everything else
-.

In questo esempio, lo spider deve saltare link con protocolli ftp e mailto, non deve scaricare file con formati non indicizzabili e non uscire dal dominio di partenza (è possibile aggiungere altri domini).
Ora siamo pronti per far girare il crawler lanciando il seguente script:
$ $NUTCH_HOME/bin/nutch crawl url –dir Index –depth 10
Il crawl usa gli url contenuti nel file ursl/nome_file per iniziare il suo lavoro, e mette i suoi risultati nella cartella Index. L’opzione -depth indica al crawler fino a quale profondità si vuole esplorare il sito.
Per il filesystem si passa allo script, precedentemente visto, un file con il path assoluto della directory da indicizzare proceduto dall’intestazione “file:/”; si deve, inoltre, modificare opportunamente il file $NUTCH_HOME/conf/crawl-urlfilter.txt.
Nutch ci fornisce dei comandi per analizzare il contenuto nel WebDB:
bin/nutch readdb Index/crawldb –stats.

È anche possibile analizzare ogni singolo url preso in fase di crawling, il comando è: bin/nutch readdb Index/crawldb –stats –url NOME_URL. In questo caso si può vedere che di ogni pagina viene salvato l’orario di salvataggio, ultima modifica, e altre informazioni come il punteggio della pagina, utile hai fini della visualizzazione dei risultati.
Il crawl crea tre segmenti visualizzabili nelle sotto-directory della cartella Index/segments, una per ogni ciclo generate/fetch/update. Il tool segread da un’utile resoconto di tutti i segmenti (Fig. 10).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *