| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Парсинг HTML |
| Автор: soulcub 8.9.2010, 22:13 | ||
| Есть задание, нужно написать прогу, которая будет отправлять в яндекс запрос, который введён в программе. Возвращать она должна 20 строк по парно в формате Ссылка Краткое описание Попытался сделать так, но дальше получаю HTML-код и не знаю что с ним делать, чтоб вытащить те строчки.
Также думал найти закономерности в самой странице яндекса и тупым перебором строчек найти то что нужно, но не вышло( Что подскажите? |
| Автор: MisterCleric 8.9.2010, 22:20 |
| Привет. Ану посмотри здесь: http://java-source.net/open-source/html-parsers Я в свое время взял для этого дела Cobra. Мне очень понравилось, так как там синтаксис сводиться к обработке документа в стиле JavaScript |
| Автор: soulcub 8.9.2010, 22:30 |
| Спасибо) Сейчас попробую кобру эту) Самое плохое, что мне надо за сегодня разобраться и отправить код) Если что - напишу сюда ещё. |
| Автор: Nofate 8.9.2010, 22:50 | ||
Если речь идет о ссылках в выдаче,то выглядят они примерно так:
Можно: 1. Найти вручную подстроку <a class="agp", потом пропустить все символы до ближайшего >. Запомнить место. Найти ближайшую подстроку </a>. Получить подстроку между этими двумя позициями. повторять до конца файла. 2. Тоже самое, но с автоматикой 3. Отпарсить как XML при помощи SAX. Обрабатывать теги <a>, у которых атрибут class равен "agp" и выдергивать текст. 4. Отпарсить как XML при помощи DOM. Найти в дереве элементы <a>, у которых атрибут class равен "agp" и выдернуть текст. На мой взгляд, для такой узкой задачи документ можно и не парсить и обойтись регэкспами. ЗЫ. Долго же я писал пост )) |
| Автор: soulcub 8.9.2010, 23:08 |
| Согласен, в принципе.. Сам думал о том, чтоб просто вручную пройтись по коду, но меня остановила мысль.. Это ведь задания на приём на работу) Значит они ими хотят что-то проверить в моих знаниях) А тупо перебирать весь код.. Хотя.. Парсеры ведь так и делают.. Короче всё) Решился) Сделаю свой парсер именно для такой цели) Nofate, спасибо за толчок хДД |
| Автор: soulcub 9.9.2010, 00:28 |
| Очень странно, почему-то в коде, который принимает моя прога нету комментариев к ссылкам оО Хотя в браузере они есть. В проге они просто пропускаются. Что это может быть? |
| Автор: soulcub 9.9.2010, 14:01 |
| Всё нашёл. Во всём разобрался, всё ок) Просто в коде затупил) |
| Автор: Nofate 9.9.2010, 20:07 |
| Ну как задание-то, приняли? |
| Автор: soulcub 10.9.2010, 18:37 |
| Вчера отправил) Говорили, что нужно дня 2-3, чтоб проверить ибо работы много. Ждём ответа) |