Devo fornire un URL di base (come http://www.wired.com
) e ho bisogno di spider attraverso l'intero sito emettendo una serie di pagine (fuori dall'URL di base). C'è qualche biblioteca che farebbe il trucco?Ricerca di un semplice spider Java
Grazie.
Devo fornire un URL di base (come http://www.wired.com
) e ho bisogno di spider attraverso l'intero sito emettendo una serie di pagine (fuori dall'URL di base). C'è qualche biblioteca che farebbe il trucco?Ricerca di un semplice spider Java
Grazie.
Ho usato Web Harvest
un paio di volte, ed è abbastanza buono per il web scraping.
Web-Harvest è dati Web Open Source Strumento di estrazione scritto in Java. E ' offre un modo per raccogliere le pagine Web desiderate ed estrarre i dati utili da loro. Per fare ciò, lo strumento utilizza tecniche consolidate e tecnologie per la manipolazione di testo/xml come XSLT, XQuery e Espressioni regolari. Web-Harvest si concentra principalmente su siti Web basati su HTML/XML che continuano a costituire una grande maggioranza del contenuto Web . D'altra parte, potrebbe essere facilmente integrato dalle librerie Java personalizzate al fine di aumentare le capacità di estrazione di .
In alternativa, si può rotolare il proprio raschietto web utilizzando strumenti come JTidy
prima convertire un documento HTML in XHTML, e quindi l'elaborazione delle informazioni è necessario con XPath
. Ad esempio, un'espressione XPath di molto originale per estrarre tutti i collegamenti ipertestuali da http://www.wired.com
, sarebbe qualcosa come //a[contains(@href,'wired')]/@href
. È possibile trovare alcuni esempi di codice per questo approccio in questo answer a una domanda simile.
"Semplice" non è forse un concetto pertinente qui. è un compito complesso. Raccomando nutch.
Grazie per questa risorsa. Sono stato in grado di adattarlo con successo. Tuttavia, se una risposta della pagina web risulta in un 500, il raschiatore non riesce (ad esempio - http://www.allure.com/magazine/flipbook) emettendo un "Un carattere XML non valido (Unicode: 0x0) è stato trovato nel contenuto dell'elemento del documento. " Qualche idea su questo messaggio di errore? – rs79