Domanda

Non tutti i siti Web espongono bene i propri dati, con feed XML, API, ecc.

Come posso fare per estrarre informazioni da un sito web? Ad esempio:

...
<div>
  <div>
    <span id="important-data">information here</span>
  </div>
</div>
...

Vengo da un background di programmazione e codifica Java con Apache XMLBeans. Esiste qualcosa di simile all'analisi HTML, quando conosco la struttura e i dati tra un tag noto?

Grazie

È stato utile?

Soluzione

Esistono diversi parser HTML Open Source disponibili per Java.

Ho usato JTidy in passato e ne ho avuto buona fortuna. Ti darà un DOM della pagina html e dovresti essere in grado di prendere i tag che ti servono da lì.

Altri suggerimenti

Ecco un articolo che ha un paio di strumenti di raschiatura dello schermo scritti in java.

In generale, sembra che tu voglia dare un'occhiata a espressioni regolari , che la corrispondenza del motivo che stai cercando.

Spero che ti aiuti!

Java sembra un vincolo abbastanza difficile per tale compito. È un requisito difficile? I linguaggi di scripting sono ideali per la creazione di un sacco di codice dell'ultimo miglio.

Se sei aperto, ruby ??+ hpricot lo rende completamente banale. È possibile utilizzare i selettori CSS o Xpath (o entrambi) per trovare (e manipolare) il contenuto in HTML. Afferrare il documento, analizzarlo ed estrarre il testo nell'esempio è letteralmente una riga di codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top