Sto cercando un approccio efficiente per estrarre un frammento di HTML da una pagina Web ed eseguire alcune operazioni specifiche su quel frammento HTML.Estrarre e pulire il frammento HTML utilizzando il parser HTML (org.htmlparser)
Le operazioni necessarie sono:
- Rimuovere tutti i tag che hanno una classe di "nascosto"
- Rimuovere tutti i tag di script
- Rimuovere tutti i tag di stile
- rimuovere gli attributi tutti gli eventi (a * = "*")
- Rimuovere tutti gli attributi di stile
Ho utilizzato HTML Parser (org.htmlparser) per questa attività e sono stato in grado di soddisfare tutti i requisiti, tuttavia, non credo di avere una soluzione elegante. Attualmente sto analizzando la pagina Web con uno CssSelectorNodeFilter (per ottenere il frammento) e quindi analizzando nuovamente il frammento con uno NodeVisitor per eseguire le operazioni di pulizia.
Qualcuno potrebbe suggerire come affrontare questo problema? Preferirei solo analizzare il documento una sola volta ed eseguire tutte le operazioni durante quell'unica analisi.
Grazie in anticipo!
Daremo un'occhiata a jsoup. Se fornisce un quadro migliore per risolvere il mio problema, allora presenterò una risposta che sostiene il suo uso per le mie esigenze. Grazie per il consiglio. –
@KieranHall: vedere la mia risposta aggiornata con un esempio funzionante. – maerics
come ottenere la stringa di restituzione dopo aver rimosso l'attributo? –