6

Sto lavorando a un progetto e ho bisogno di fare un sacco di screen scraping per ottenere molti dati il ​​più velocemente possibile. Mi chiedo se qualcuno sa di buone API o risorse per aiutarmi.Suggerimenti per scraping, scraping schermo e data mining?

Sto usando java, a proposito.

Ecco ciò che il mio flusso di lavoro è stato finora:

  1. la connessione a un sito web (utilizzando HTTPComponents da Apache)
  2. sito web contiene una sezione con un mazzo di collegamenti che ho bisogno di visitare (utilizzando built in parser java HTML per capire quali sono tutti i link che devo visitare sono, questo è fastidioso e disordinato codice)
  3. Visita tutti i link che ho trovato
  4. Per ogni link che visito, ci sono più dati che ho bisogno di estrarre, distribuire su più pagine, quindi potrei aver bisogno di visi t più collegamenti

Pensieri:

  • qualcuno sa di qualsiasi livello superiore/parser html più intelligenti rispetto al costruito in uno java?
  • Fondamentalmente si tratta di una prima ricerca di profondità. Immagino che mi piacerebbe realizzare questo multithread in un momento, così posso visitare alcuni di questi collegamenti in parallelo.
  • Forse quello che sto veramente cercando è un web crawling multithread biblioteca

Se non avete capito, questa è la mia prima volta nei guai con questo modo che io sto avendo un momento difficile cercando di articolare esattamente quali sono i miei bisogni. Apprezzerei molto ogni input che qualcuno di voi che ha fatto prima di ciò potrebbe avere.

+0

Esattamente quello che parser Java stai usando in questo momento? (Non correlato - il framework di Java Executor è ideale per il parallelismo controllato) – user486972

+0

http://stackoverflow.com/questions/7138296/how-do-i-get-the-source-of-a-given-url-from-a- servlet/7138434 # 7138434 Ho trovato questo. Pensavo che ti interesserebbe. – Srinivas

+0

Dai un'occhiata a http://teusje.wordpress.com/tag/scrape/ contiene informazioni su come raschiare i dati con powershell e perl. – juFo

risposta

9

Ho trovato JSoup davvero buono per l'analisi HTML.

Per ulteriori puntatori controllare questo articolo fuori: How to write a multi-threaded webcrawler

+0

In realtà mi sono imbattuto in quel link. Mi chiedo se ci sono buone combinazioni di webcrawler + parser. Anche se forse posso usarli entrambi insieme. – JPC

+0

Ho trovato questo post alla ricerca di strumenti di scraping HTML Java e JSoup è davvero buono. –

1

Provare a utilizzare il progetto Web-Harvest.

+0

Lo controllerò, grazie – JPC

0

Checkout JSR-237 per la gestione del lavoro, che è una grande idea quando si va multithread.

Per quanto riguarda la raschiatura, ci sono diverse alternative. Se la facilità d'uso è la cosa più importante, ti consiglierei di HTMLUnit. Oltre a ciò, è necessario rollare il proprio

2

Ho utilizzato Bixo per estrarre i collegamenti ipertestuali e le immagini facendo ricerca di profondità. Costruito su hadoop e cascading quindi c'è una curva di apprendimento ma l'esempio fornito è abbastanza buono per configurare le modifiche ...