Poszukuję efektywnego podejścia do wyodrębniania fragmentu HTML ze strony internetowej i wykonywania pewnych operacji na tym fragmencie HTML.Wyciąganie i czyszczenie fragmentu HTML przy użyciu parsera HTML (org.htmlparser)
operacje wymagane są:
- usunąć wszystkie znaczniki, które mają klasę „ukrytym”
- Usuń wszystkie znaczniki skryptów
- Usuń wszystkie znaczniki stylu
- usuń wszystkie atrybuty zdarzenia (na * = "*")
- Usuń wszystkie atrybuty stylu
Używałem do tego zadania HTML Parser (org.htmlparser) i byłem w stanie spełnić wszystkie wymagania, jednak nie uważam, że mam eleganckie rozwiązanie. Obecnie analizuję stronę WWW za pomocą CssSelectorNodeFilter (w celu pobrania fragmentu), a następnie ponownie analizuję ten fragment za pomocą NodeVisitor w celu przeprowadzenia operacji czyszczenia.
Czy ktoś może zasugerować, w jaki sposób rozwiązałby ten problem? Wolałbym tylko przeanalizować dokument raz i wykonać wszystkie operacje podczas tej jednej analizy.
Z góry dziękuję!
Spojrzę na jsoup. Jeśli zapewnia lepsze ramy dla rozwiązania mojego problemu, przedstawię odpowiedź, zalecając jego użycie dla moich wymagań. Dzięki za wskazówkę. –
@KieranHall: zobacz moją zaktualizowaną odpowiedź z roboczym przykładem. – maerics
jak uzyskać zwracany ciąg po usunięciu atrybutu? –