Вопрос по web-scraping, html, android, javascript – Очистка динамически генерируемого HTML внутри приложения Android

4

В настоящее время я пишу приложение для Android, которое, помимо прочего, использует текстовую информацию с веб-сайтов, которые мне не принадлежат. Кроме того, некоторые страницы требуют аутентификации.

Для некоторых страниц я смог войти в систему и получить HTML-код, используя BasicNameValuePairs и HTTPClient со связанными объектами.

К сожалению, эти методы извлекают источник веб-страницы без запуска функций JavaScript, которые обычно запускаются браузером (даже Android Webview). Мне нужен текст, который извлекают некоторые из этих скриптов.

Я провел свое исследование, но все, что я нашел, - это догадки & amp; очень запутанно Я в порядке, игнорируя страницы, которые требуют входа в систему на данный момент. Кроме того, я готов опубликовать любой код, который может быть полезен для построения решения; Это самостоятельный проект.

Какие-либо конкретные решения для очистки HTML-результата от вызовов JavaScript? Пример будет абсолютно первоклассным.

Примечание. Многие потоки, которые я видел, предлагают заглянуть в "Rhino", но я пока не нашел способа заставить его работать. Rhino:mozilla.org/rhino/tutorial.html bhekman

Ваш Ответ

2   ответа
4

Вышеупомянутые решения очень медленные и ограничивают вас до 1 URL-адреса (ну, не совсем, но я осмелюсь вам собрать 10 URL-адресов с Rhino, пока ваш пользователь с нетерпением ждет результатов).

Альтернативой является использование решения для очистки облака. Вы получаете выгоду, не теряя пропускную способность телефона при загрузке контента, который вы не используете.

Попробуйте это решение:Bobik Java SDK

Это дает вам возможность очистить до сотен сайтов в считанные секунды

Мое решение работает достаточно хорошо для его применения, но я дам вам согласие, так как другие, похоже, сочли ваш ответ полезным. Спасибо & amp; престижность. bhekman
Служба была перемещена вwebcrawling.net
Благодарю. Кстати, я написал подробную статью о преимуществах использования Bobik наzscraper.wordpress.com/2012/07/03/…
usebobik.com - это просто рекламный центр.
7

Окончательный успех:

Другие вещи, которые я пробовал:

  • HttpClient provided by Android
    • Cannot run javascript
  • HtmlUnit
    • 4 hours, no success. Also huge, added 12 mb to my apk.
  • SL4A
    • Finally compiled. Used THIS guide to set-up. Abandoned as overkill for a simple rhino jar.

Вещи, которые могут работать:

  • Selenium

Дальнейшие результаты будут опубликованы. Другие результаты будут добавлены, если опубликовано.

Примечание: многие из перечисленных выше опций ссылаются друг на друга. Я думаю, что носорог включен в sl4a и htmlunit. Кроме того, я думаю, что htmlunit содержит селен.

Ссылка Rhino теперь дает указатель на SL4A. Банки с носорогом там нет.

Похожие вопросы