Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> написание программы для поиска инфы, нужна помощь 
:(
    Опции темы
KostenkoSergey
Дата 22.11.2005, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 31.10.2005
Где: Kiev

Репутация: 3
Всего: 8



smile
Для поиска Тебе надо обратиться по такому урлу :
http://www.google.com.ua/search?q=audi
Для этого :
Код

String data = "q=" + URLEncoder.encode("AUDI" , "UTF-8");//Вот тут формируем параметр запроса
      URL url = new URL("http://google.com/search"); // url
    /**
     * Returns a <code>URLConnection</code> object that represents a
     * connection to the remote object referred to by the <code>URL</code>.
     *
     * <p>A new connection is opened every time by calling the
     * <code>openConnection</code> method of the protocol handler for
     * this URL.
     *
     * <p>If for the URL's protocol (such as HTTP or JAR), there
     * exists a public, specialized URLConnection subclass belonging
     * to one of the following packages or one of their subpackages:
     * java.lang, java.io, java.util, java.net, the connection
     * returned will be of that subclass. For example, for HTTP an
     * HttpURLConnection will be returned, and for JAR a
     * JarURLConnection will be returned.
     *
     * @return     a <code>URLConnection</code> to the URL.
     * @exception  IOException  if an I/O exception occurs.
     * @see        java.net.URL#URL(java.lang.String, java.lang.String,
     *             int, java.lang.String)
     * @see        java.net.URLConnection
     * @see java.net.URLStreamHandler#openConnection(java.net.URL)
     */
      HttpURLConnection urlConnect = (HttpURLConnection)url.openConnection();//установливаем коннект!
    /**
     * Sets the value of the <code>doOutput</code> field for this 
     * <code>URLConnection</code> to the specified value. 
     * <p>
     * A URL connection can be used for input and/or output.  Set the DoOutput
     * flag to true if you intend to use the URL connection for output,
     * false if not.  The default is false.
     *
     * @param   dooutput   the new value.
     * @throws IllegalStateException if already connected
     * @see #getDoOutput()
     */
      urlConnect.setDoOutput(true);//а что тут делаем?
    /**
     * Sets the value of the <code>doInput</code> field for this 
     * <code>URLConnection</code> to the specified value. 
     * <p>
     * A URL connection can be used for input and/or output.  Set the DoInput
     * flag to true if you intend to use the URL connection for input,
     * false if not.  The default is true.
     *
     * @param   doinput   the new value.
     * @throws IllegalStateException if already connected
     * @see     java.net.URLConnection#doInput
     * @see #getDoInput()
     */
      urlConnect.setDoInput(true);//и тут?
      OutputStreamWriter wr = new OutputStreamWriter(urlConnect.getOutputStream());
      wr.write(data);
      wr.flush();



PM ICQ   Вверх
Berliner
Дата 25.11.2005, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 18.5.2005

Репутация: 1
Всего: 2



Спасиб-вроде разбираюсь. А можно плиз очень подробно пояснить две строки, а именно ,я например понял : 1- форма запрос а 2-устанавливаем коннект. но в 1 строке я вообще не понял зачем там data = "q=" smile
Код

String data = "q=" + URLEncoder.encode("AUDI" , "UTF-8");
HttpURLConnection urlConnect = (HttpURLConnection)url.openConnection;


"разжуте" пожалуста.

Это сообщение отредактировал(а) Berliner - 25.11.2005, 15:56
PM   Вверх
chief39
Дата 29.11.2005, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 15
Всего: 77



Цитата(Berliner @ 25.11.2005, 15:47)
Спасиб-вроде разбираюсь. А можно плиз очень подробно пояснить две строки, а именно ,я например понял : 1- форма запрос а 2-устанавливаем коннект. но в 1 строке я вообще не понял зачем там data = "q="

Насколько я понял вышеприведеный код:
Мы создаём URL, который, к примеру указывает на какой-то ресурс(например сервлет, или что у них там, на гугле). Но сам по себе запрос ничерта не значит без параметров. Это как будто нажать кнопку submit при пустой форме(вернее при отсутствии полей на форме вообще).
А вот в DATA формируем строку запроса, которая в обычных http запросах идёт после "?". Т.е. передаём вроде как данные из формы(параметр=значение).
Поскольку искать твоя система будет не только ауди, то data будет содержать то что ты ищешь. Тысызыть, динамическая часть запроса.
Итого твой клиент будет посылать то же что послала бы форма с инпут-полем "q" в которое ты ввёл "audi". Ну а encode - специально написанная фишка для твоего случая, ибо самотужки перекодировать строку в гекса-представление замахаешься(ты ведь видел что если в поисковике вводишь русские символы - они отображаются как %45%4A%32 и т.д.)
Поэтому в своём клиенте, в поле на какой-нить формочке вводишь то, что ищешь, и запихиваешь в первый параметр "encode" (вместо "ауди").
И будет тебе счастье smile



--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
gEndelf
Дата 29.11.2005, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 7.7.2005
Где: the world

Репутация: нет
Всего: 3



А по поводу парсинга HTML - я где на просторах Internet встречал набор классов для парсинга и удобной обработки.
только адрес не припомню ...
PM MAIL WWW   Вверх
Berliner
Дата 29.11.2005, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 18.5.2005

Репутация: 1
Всего: 2



Спасибо большое за пояснения- буду разбираться
PM   Вверх
Berliner
Дата 2.12.2005, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 18.5.2005

Репутация: 1
Всего: 2



Код

 HttpURLConnection urlConnect = (HttpURLConnection)url.openConnection();


подскажите а как еще можно прописать строку коннекта только так?
пітался сделать

HttpURLConnection urlConnect=new HttpURLConnection(єкземпляр класса Http адреса);

urlConnect.openConnection;

неработает как надо пояснитте пожалуста ,если можно!

Это сообщение отредактировал(а) Berliner - 2.12.2005, 14:47
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0453 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.