| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > написание программы для поиска инфы |
| Автор: Berliner 17.11.2005, 10:09 |
| Здраствуйте надо написать программу для поиска инфы в инете. Программа дролжна делать следующее 1. юзер ввдодит в окно программы текст например Audi100 программа должна найти в google инфу по Audi 100 после єтого вывести в текстовый файл такие поля. Ссылку Заголовок Описание сайта www.audi.de Audi WV Nur Wir........ Меня попросили сделать такую вещь. Сразу оговорюсь для меня это не коммерческое предложение. Мат выгоды с этого не имею Подскажите с чего начать и какие классы использовать. Java только начал учить. Думаю сделать это апплетом. |
| Автор: KostenkoSergey 17.11.2005, 11:19 | ||||
| я диплом такой писал ну а твоя задача на самом деле сводится к следующему : 1. формируешь запрос - шлёшь на гугл используя, что то типа :
тока посмотришь какие там параметры надо передать в поисковик. А потом получаешь ответ
я для простоты примера всё в строку записал, а ты разпарсишь его (ответ) как тебе удобно .... а ваще я встречал подобные апплетики .... |
| Автор: Berliner 17.11.2005, 13:04 |
| Спасибо! буду пытаться. |
| Автор: Stampede 17.11.2005, 15:51 | ||
Для этого идеально подойдет http://www.google.com/apis/. Это фактически веб-сервисный клиент к их машине поиска. По описанию выглядит очень просто. Единственно, по условию лицензии там есть ограничение: максимум 1000 запросов в сутки. Если тебя это устроит - то полный вперед |
| Автор: Berliner 17.11.2005, 16:42 |
| А как в первом варианте писалось не пойдет? |
| Автор: Stampede 17.11.2005, 18:53 | ||||
Да оно, может, и пойдет, но как ты собираешься парсить HTML? Вот смотри, как выглядит отдельная позиция в выдаче гугля:
Ты, конечно, можешь типа искать элемент <p> с классом "g", выдирать оттуда линк, потом в качестве описания брать все от конца линка до "<br><font color=#008000>", ну и так далее. Но я бы после такого навсегда потерял сон, потому что измени гугловцы формат выдачи - и фсе, программа просто перестанет работать. Так штаааа... |
| Автор: Berliner 18.11.2005, 14:08 | ||
Ошибку выдает я думаю что неправильно исключения обработал. Код ошибки сейчас не могу дать комп в другой комнате, а там интернета нет. Подскажите пожалуста что не правильно?
|
| Автор: batigoal 18.11.2005, 14:23 |
| У меня прошло без ошибок. |
| Автор: Berliner 18.11.2005, 16:22 |
| упс ....сейчас код ошибки кину(все на дискетке принесу ошибку) |
| Автор: Berliner 18.11.2005, 16:36 | ||
сразу вместе код и ошибка! почему NEtBeans ругается?
|
| Автор: bars_uz 18.11.2005, 17:41 | ||
Bratan poprobue:
|
| Автор: KostenkoSergey 18.11.2005, 18:37 | ||||
| наверное ты через проксю какую то ходишь... да ? Добавлено @ 18:45
дык это разве проблема ?
а ваще ж и любым саксом можно ? тем паче универсальность ему никчему - ответ всегда в одинаковом виде будет.... |
| Автор: Guest 21.11.2005, 13:49 | ||
вот что уже написал, вроде компилиться без ошибок. написал : вводим адрес гугла , и подключаемся А дальше? натолкните на мысль какие классы использовать и логику подскажите плиз. Сори я только учусь
|
| Автор: KostenkoSergey 22.11.2005, 09:57 | ||
уже ж тебе ответили и примеры дали, или я вопрос не вразумел? |
| Автор: Berliner 22.11.2005, 10:33 | ||
ок вроде подконектился к гугглу а как запрос сформировать и отослать?
я в твоем примере не все понял. просто знаний не хватает. в коментах я написал где не понял ,не мог бы ты мне пояснить подробнее,пожалуста?(там где я написал в коментариях). ну очень хочется научится java . Я и сам пытаюсь. |
| Автор: KostenkoSergey 22.11.2005, 11:48 | ||
| Для поиска Тебе надо обратиться по такому урлу : http://www.google.com.ua/search?q=audi Для этого :
|
| Автор: Berliner 25.11.2005, 15:47 | ||
Спасиб-вроде разбираюсь. А можно плиз очень подробно пояснить две строки, а именно ,я например понял : 1- форма запрос а 2-устанавливаем коннект. но в 1 строке я вообще не понял зачем там data = "q="
"разжуте" пожалуста. |
| Автор: chief39 29.11.2005, 10:58 | ||
Насколько я понял вышеприведеный код: Мы создаём URL, который, к примеру указывает на какой-то ресурс(например сервлет, или что у них там, на гугле). Но сам по себе запрос ничерта не значит без параметров. Это как будто нажать кнопку submit при пустой форме(вернее при отсутствии полей на форме вообще). А вот в DATA формируем строку запроса, которая в обычных http запросах идёт после "?". Т.е. передаём вроде как данные из формы(параметр=значение). Поскольку искать твоя система будет не только ауди, то data будет содержать то что ты ищешь. Тысызыть, динамическая часть запроса. Итого твой клиент будет посылать то же что послала бы форма с инпут-полем "q" в которое ты ввёл "audi". Ну а encode - специально написанная фишка для твоего случая, ибо самотужки перекодировать строку в гекса-представление замахаешься(ты ведь видел что если в поисковике вводишь русские символы - они отображаются как %45%4A%32 и т.д.) Поэтому в своём клиенте, в поле на какой-нить формочке вводишь то, что ищешь, и запихиваешь в первый параметр "encode" (вместо "ауди"). И будет тебе счастье |
| Автор: gEndelf 29.11.2005, 11:21 |
| А по поводу парсинга HTML - я где на просторах Internet встречал набор классов для парсинга и удобной обработки. только адрес не припомню ... |
| Автор: Berliner 29.11.2005, 13:13 |
| Спасибо большое за пояснения- буду разбираться |
| Автор: Berliner 2.12.2005, 14:43 | ||
подскажите а как еще можно прописать строку коннекта только так? пітался сделать HttpURLConnection urlConnect=new HttpURLConnection(єкземпляр класса Http адреса); urlConnect.openConnection; неработает как надо пояснитте пожалуста ,если можно! |