Получение данных из Интернета на Java - PullRequest
3 голосов
/ 31 августа 2011

Я подумал о создании следующего приложения для моего проекта колледжа в Java.Я знаю ядро ​​Java.Я хочу знать, что я должен прочитать «специально» для этого проекта, так как времени меньше:

У него будет интерфейс для размещения вашего запроса.Эта строка будет отправлена ​​как запрос к поисковым системам в Интернете, и с помощью поисковой системы найдет данные ( первая веб-страница, которую мы увидим (это данные для моего приложения за это время. :))).
Я не хочу отображать данные.Я просто хочу HTML-файл или исходный код сгенерированной веб-страницы.Это похоже на Common Getaway Interface?Я не знаю, об этом.

Но я думаю, что для той же цели.Если это так.пожалуйста, подскажите мне, как это реализовать.
Что бы вы ни указали

  • Проблема 1: Что мне прочитать?Любая прямая помощь на данный момент не является моим намерением.Я хочу реализовать это сам.
  • Проблема 2: Для подключения к Интернету также требуются некоторые знания jnlp.

например.как в Google мы ищем что-то, он показывает нам ссылки на сайты.Я вижу исходный код этой сгенерированной веб-страницы.Я просто хочу, чтобы эта страница работала с моим приложением.

РЕДАКТИРОВАТЬ : я не хочу полагаться только на Google или какой-либо конкретный веб-сервер.Я хочу решить это по моей заявке.
Пожалуйста, также обратитесь к моей проблеме 2.

Когда я обнаружил, что у нас есть Условия использования веб-сайтов, если я попытаюсь сделать мой сканер.Тогда бы мое приложение не нарушало правила.Ну, это важно для меня.

Ответы [ 5 ]

5 голосов
/ 31 августа 2011

Ashish, Вот что я бы порекомендовал.

  1. Изучите основы JSON по этим ссылкам ( Введение , lib download )
  2. Тогда посмотрите на API JSON веб-поиска Google здесь .
  3. Узнайте, как получить данные с серверов, используя библиотеку HttpClient здесь .
  4. Теперь вам нужно выполнить запрос get для поиска, прочитать ответ JSON, проанализировать ответ, используя библиотеку JSON из # 1, и вы получите результаты поиска.
  5. Большинство поисковых систем (Bing и т. Д.) Предлагают Jason / REST apis, так что вы можете сделать то же самое для других поисковых систем.

Примечание: API Jason обычно используются из JavaScritps на стороне пользовательского интерфейса, но так как его очень легко и быстро освоить, я предложил вам это. Вы также можете изучить (если позволяет время) API-интерфейсы на основе XML.

4 голосов
/ 31 августа 2011
URL url = new URL("http://fooooo.com");
in = new BufferedReader(new InputStreamReader(url.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
  {
    System.out.println(inputLine);
  }

Этого должно быть достаточно, чтобы начать работу.

И да, проверьте, не нарушаете ли вы условия использования веб-сайта.Поисковым системам не очень нравится, когда вы пытаетесь получить к ним доступ через программу.

Многие, включая Google, имеют API, специально предназначенные для этой цели.

2 голосов
/ 31 августа 2011

вы можете делать все, что вы хотите, используя HTMLUnit .Это как веб-браузер, но для Java.Посмотрите несколько примеров на их сайте.

1 голос
/ 31 августа 2011

Я не хочу отображать данные.Я просто хочу файл HTML или исходный код сгенерированной веб-страницы.

Вам, вероятно, HTML тоже не нужен.Google предоставляет результаты поиска в виде веб-службы, используя этот API .Аналогично для другой поисковой системы GIYF .Вы получаете результаты поиска в формате XML, что намного проще для вас.Кроме того, XML не будет содержать нежелательных данных, таких как реклама.

1 голос
/ 31 августа 2011

Прочтите « Работа с URL-адресами » в руководстве по Java, чтобы понять, что стоит за доступными библиотеками, такими как HTMLUnit, HttpClient и т. Д.

...