- ベストアンサー
JAVAで「Yahoo Japan!」に接続
現在JAVAを勉強している者ですが、 ある課題で、 「JAVAプログラムを起動して、入力した単語(2単語くらい)を自動的にYahoo Japanに接続して、その単語を検索する」というプログラムを作らなくてはいけないのですが、全くわからない状態です。 よろしかったら、是非わかりやすく教えてください! おねがいします!m(_ _)m
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
仕様的にあいまいな点が多々あるので適当に仮定して OS=Windows JAVAプログラム=JAVAのCUIアプリケーションでコンソール(コマンドプロンプト)から実行 自動的に接続=Internet Explorerを起動 入力=コンソールから英語で2つ単語入力 1.JAVAアプリの作成 参考:http://www.hellohiro.com/appli.htm 2.コンソールから入力 参考:http://milkyway.merseine.nu/Java/Java051.html 3.URLの作成 http://search.yahoo.co.jp/bin/search?p=word1+word2 みたいな感じのURLを作成 http://search.yahoo.co.jp/bin/search?p=検索単語1+検索単語2 3.外部コマンド実行 参考:http://milkyway.merseine.nu/Java/Java051.html 実行するコマンド C:\Program Files\Internet Explorer\IEXPLORE.EXE "作ったURL" ってな感じでいかがでしょ?
その他の回答 (2)
- gimmick
- ベストアンサー率49% (134/270)
皆さんがおっしゃるように、仕様が不明確です。極端な話、こんなコードでも良いことになってしまいます。(windows限定) class YahooSearcher { public static void main(String[] args) { try { String url; if (args.length > 0) { url = "http://search.yahoo.co.jp/bin/search?p="; for (int i = 0; i < args.length; i++) { url += args[i] + "+"; } url = url.substring(0, url.length() - 1); } else { url = "http://www.yahoo.co.jp"; } Runtime.getRuntime().exec("cmd /c start " + url); } catch(Throwable t) { System.out.println(t.getMessage()); } } } #課題とはいえ、簡単すぎるかも…。
- nattoumaki
- ベストアンサー率62% (5/8)
こんな感じでどうでしょうか。 import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.GetMethod; public class YahooSearch { public static void main(String[] args) { if (args.length < 1) { System.out.println("Please Input Search Key Words"); return; } StringBuffer uri = new StringBuffer("http://search.yahoo.co.jp/bin/query?p="); for (int cnt = 0;cnt < args.length;cnt++) { if (cnt != 0) { uri.append("+"); } uri.append(args[cnt]); } GetMethod get = null; try { get = new GetMethod(uri.toString()); new HttpClient().executeMethod(get); String response = get.getResponseBodyAsString(); System.out.println("Response:" + response); } catch (Exception e) { e.printStackTrace(); } finally { if (get != null) { get.releaseConnection(); } } } } #1さん同様、仕様がよくわかりませんが・・・。 検索した結果をどうするのかわかりませんが、 上記ではとりあえずレスポンスをすべて標準出力へ 出力しています。 実際はこれをブラウザへ読ませれば 普通に検索結果画面が見れますよ。 この方法では、下記の2つのライブラリが 必要になります。 Apache Commons HttpClient Apache Commons Logging 私が使用したのは以下のjarです commons-httpclient-2.0-rc1.jar commons-logging-api.jar 無い場合は下記URLよりダウンロードしてください。 http://jakarta.apache.org/site/binindex.cgi
お礼
助かります! すいません、使用はTurboLinuxで、 使っているブラウザはMozillaです。
お礼
調べてみたところ、表示するページのソースさえわかればいいことだったので、ブラウザは関係なかったようです。 お手数かけて申し訳ありませんでした!