Разбор HTML (после отправки формы)

#android #html #forms #parsing #submit

#Android #HTML #формы #синтаксический анализ #Отправить

Вопрос:

У меня есть страница PHP / HTML, с которой я хочу получить данные, но после отправки формы.

Нравится:

  1. Открыть сайт
  2. Введите это содержимое
  3. Sumbit
  4. Разбор НОВОГО сайта на предмет содержимого

Каков самый быстрый способ добиться этого?

Я начал с webview — слишком много ненужных вещей, поэтому я перешел на org.apache.http и это казалось нормальным.

Вот часть моего кода:

 HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost("WEBSITE NAME");
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("THE NAME OF THE SEARCH B OX", "WORD I WANT TO BE PUT IN"));


        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        HttpResponse response = httpClient.execute(httpPost);

        HttpEntity httpEntity = response.getEntity();


        String sourceCode = EntityUtils.toString(httpEntity);
  

Итак, в конце HttpEntity получил HTML — и тогда я застрял. Есть ли какой-либо способ его АНАЛИЗА, чтобы получить, например, — найти таблицу и получить содержимое второй ячейки второй строки?

Комментарии:

1. Я предполагаю, что веб-сайт каким-то образом возвращает HTML — в этом случае я бы использовал старую надежную библиотеку TagSoup ( ccil.org /~cowan/XML/tagsoup ) , реализация SAXParser, которая способна читать HTML в том виде, в каком он встречается в дикой природе — рваный, искаженный и сломанный. Обычно в вашей платформе Android скрыта библиотека TagSoup, поэтому при сборке и установке приложения вы можете увидеть некоторые предупреждения о столкновениях.

Ответ №1:

Небольшая и мощная библиотека, которую я могу порекомендовать, — HTMLCleaner (106 КБ, htmlcleaner.sf.net ). Он анализирует практически любой HTML, каким бы уродливым он ни был, превращает его в XML, а затем позволяет вам получить доступ к определенным его частям. У них тоже есть хорошие примеры на своей странице.

Комментарии:

1. Я нашел это в Google, но проблема, с которой я столкнулся, заключается либо в том, как сделать HTML-очиститель для обработки моего «ответа — HttpResponse» (понятия не имею, как установить его в качестве источника для синтаксического анализа), либо как использовать другой способ, которым HTML Cleaner undersnand — но с заполненной и отправленной формой перед запускомсинтаксический анализ..

Ответ №2: