• ベストアンサー

JAVAで「Yahoo Japan!」に接続

現在JAVAを勉強している者ですが、 ある課題で、 「JAVAプログラムを起動して、入力した単語(2単語くらい)を自動的にYahoo Japanに接続して、その単語を検索する」というプログラムを作らなくてはいけないのですが、全くわからない状態です。 よろしかったら、是非わかりやすく教えてください! おねがいします!m(_ _)m

  • Java
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • sakyo-t
  • ベストアンサー率70% (19/27)
回答No.1

仕様的にあいまいな点が多々あるので適当に仮定して 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)
回答No.3

皆さんがおっしゃるように、仕様が不明確です。極端な話、こんなコードでも良いことになってしまいます。(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());     }   } } #課題とはいえ、簡単すぎるかも…。

mura-i
質問者

お礼

調べてみたところ、表示するページのソースさえわかればいいことだったので、ブラウザは関係なかったようです。 お手数かけて申し訳ありませんでした!

回答No.2

こんな感じでどうでしょうか。 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

mura-i
質問者

お礼

助かります! すいません、使用はTurboLinuxで、 使っているブラウザはMozillaです。

関連するQ&A

  • JavaプログラムでYahooの検索結果を取得

    Javaを勉強しております。 例えば、Javaプログラムを用いて、Yahooの検索エンジンに 接続させ、何か単語を入力し、上位10件の検索結果を取り 出すことはできますでしょうか。 よろしくおねがいします。

    • ベストアンサー
    • Java
  • YAHOO JAPAN 検索 キーワード入力を やめたいです!

    YAHOO JAPAN 検索ですが、キーワードを、一文字入れると、下に出てきます。全く不便です。 YAHOO JAPAN の検索で、キーワード入力しても、出てこないようにするにはどうしたらよいでしょうか????? ヴァージョンは、エクスプローラの6.0です。 一度、「ツール→オプション→・・」で行ったのですが、全くだめでした。オートコンプリートも外しました。また、全般の履歴も削除しました。 しかし、YAHOO JAPAN の検索で、キーワード入力すると、文字が出てきます。 教えてください。よろしくお願いします。

  • Yahooでの検索で!?

    YAHOOの検索で「●●● △△△」と2個の単語を入力しまいした。そうしましたらなんと3番目に「YAHOOオークション-出品リスト■■■(当方のID)」とタイトルに載っていて、クリックしましたら、プログラムのように英単語など混ざったのがズラリと表示されました。確かに●●●と△△△という単語も含まれており、現在出品している名前等が掲載されております。なんだかチョット不思議というか・・・なぜでしょうか?他の単語でも検索しましたが、同じようなことはありませんでした。

  • インターネット ヤフージャパン Yahoo japan 

    すみません。質問させて下さい。 現在Yahooで検索欄で検索すると次に新規検索する時にダブルクリックすると履歴が出てきてしまいます。 一度入力したキーワードを次に表示されないようにするにはどうしたらよいのでしょうか? インターネットオプションから設定を変えれるという事は聞いて色々試してはいるのですが上手くいきません。 詳しい方がいらしたらどうか宜しくお願い致します。

  • 中国からヤフージャパンにアクセスできない

    こんにちは。 現在、中国の北京に住んでいるものです。 昨日の午後あたりからヤフージャパンとグーグルにアクセスできない状態となっています。 そこで質問なのですが、私のPCがいけないのかどうか知りたいので、中国に在住してる方で同じようにyahoo japan に現在アクセスできない方がいらっしゃったら教えてください。 メールが開けなくて非常に困っております。  (google.hk)は使えます)

  • .javaが開けない

    javaでソースコードを打ち込む練習をしたいです。 (Java・JDKは入手済み) その際、.javaの拡張子を使ったファイルを開くことができません。 .javaのファイルを開こうとすると、  このファイルを開けません  このファイルを開くには、そのためのプログラムが必要です。インターネットで自動的 にプログラムを検索するか、またはコンピューターにインストールされたプログラムの 一覧から手動で選択してください。 と表示されます。どのプログラムをダウンロードすればいいのでしょうか?

    • ベストアンサー
    • Java
  • オークション中の複数のYahoo Japan IDについて

    現在オークション用のIDとヤフーメール用のIDを2つ持っていますが、他人が検索オプションの「Yahoo! JAPAN IDで入札者と出品者を検索 」からメール用のIDを入れて検索しても自分のオークションを普通に閲覧できてしまうのでしょうか? ちなみに自分がログアウトした状態でやってみたら出品中のものは見れませんでしたが・・・ ヤフーに問い合わせたら、閲覧できるとの回答がきました(勘違いだと思うのですが) ご回答の程よろしくお願いします。

  • javaについて 

    javaについて 今キーボードから文字を入力して、その文字をネット検索して検索秒数を表示させるプログラムを試行しているのですが、どうも始めたばかりでうまくいきません。 理想は、 入力してください あいう← 検索秒数は ____秒です。 というカンジです。 急いではいないのでちょっとアイディアをください。

  • DOS上でJAVAのプログラムを実行する際

    (今日から)JAVAを勉強中の者です。 ちょっと昔の参考書を見ながら、Hello!と表示するプログラムを作りました。 いざ実行しようとして、 java sample.class  と入力しても、 見つからないか、ロードできませんでした と出ました。 path や classpath 両方間違いなく変数設定されていますが、直りません。 そこで、試しに java class  と入力すると Hello! で出てくれました! 参考書のバージョンが1.5.0だから、最新の7.0.7では、 プログラムを実行する入力方法が異なる、 ということでしょうか??

    • ベストアンサー
    • Java
  • yahoo JAPAN ID 登録時のメールアドレスについて

    yahoo JAPAN ID 登録時のメールアドレスについて ID 登録時に現在使用している OCN からのメールアドレスがありましたが、登録情報に入力するときに、仕方なく無知であったため Yahoo JAPAN のメールアドレスを新規に開設させられることになりました。 これにより Yahoo JAPAN のホームページの右はじ中断あたりに新着メールが表示されるようになりました。 メールアドレスは、現在使用中の OCN 一本で十分であり複雑になるので、このYahoo JAPAN のメールアドレスを登録から削除したいのですが (Yahoo JAPAN ID はそのまま残す) 可能なのでしようか。 またこの登録したメールアドレス情報を削除出来るとしたら、どこの画面を開き操作に、はいったらよいのでしようかお尋ねします。 登録情報をひらいても、削除できるような画面ではありませんでした。  パソコンは初心者で今盛んに勉強しておりますが、お分かりいただける方がいらっしゃいましたらよろしくお願い致します。

専門家に質問してみよう