#android #html #forms #parsing #submit
#Android #HTML #формы #синтаксический анализ #Отправить
Вопрос:
У меня есть страница PHP / HTML, с которой я хочу получить данные, но после отправки формы.
Нравится:
- Открыть сайт
- Введите это содержимое
- Sumbit
- Разбор НОВОГО сайта на предмет содержимого
Каков самый быстрый способ добиться этого?
Я начал с 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 — но с заполненной и отправленной формой перед запускомсинтаксический анализ..