Skrobanie stron internetowych Android za pomocą przeglądarki bezgłowej

Spędziłem dzień na badaniu biblioteki, której można użyć do wykonania następujących czynności:

Pobierz pełną zawartość strony internetowej, tak jak w tle, bez renderowania wyników do widoku.Biblioteka powinna obsługiwać strony, które odpalają żądania ajax, aby załadować dodatkowe dane wynikowe po załadowaniu początkowego kodu HTML.Z wynikowego html muszę pobrać elementy w postaci selektora xpath lub css.W przyszłości prawdopodobnie będę musiał przejść do następnej strony (zdarzenia zerwane, przyciski / linki itp.)

Oto, co próbowałem bez powodzenia:

Jsoup: Działa świetnie, ale nie obsługuje javascript / ajax (więc nie ładuje pełnej strony)Android zbudowany w HttpEntity: ten sam problem z javascript / ajax jako jsoupHtmlUnit: Wygląda dokładnie na to, czego potrzebuję, ale po godzinach nie można go uruchomić na Androidzie (inni użytkownicy zawiedli, próbując załadować pliki jar o wartości 12 MB +. Sam załadowałem pełny kod źródłowy i odwołałem się do niego jako do biblioteki projektu tylko po to, aby znaleźć rzeczy takie jak aplety i java.awt (używane przez HtmlUnit) nie istnieją w Androidzie).Rhino - Uważam to za bardzo mylące i nie wiem, jak to działa w Androidzie i nawet jeśli tego właśnie szukam.Sterownik Selenium: Wygląda na to, że może działać, ale nie masz prostego sposobu na zaimplementowanie go w sposób bezgłowy, aby nie wyświetlać rzeczywistego kodu HTML w widoku.

Naprawdę chcę, aby HtmlUnit działał, ponieważ wydaje się, że najlepiej nadaje się do mojego rozwiązania. Czy jest jakaś inna biblioteka, którą przegapiłem i która jest odpowiednia do moich potrzeb?

Obecnie używam Android Studio 0.1.7 i w razie potrzeby mogę przejść do Ellipse.

Z góry dziękuję!

questionAnswers(1)

yourAnswerToTheQuestion