• ベストアンサー
  • すぐに回答を!

Web ページのテキスト取得

  • 質問No.5045311
  • 閲覧数420
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0
URL url = new URL("http://www.yahoo.co.jp/");
BufferedReader br = new BufferedReader(
new InputStreamReader(url.openStream()));
String str;
while ((str = br.readLine()) != null) {
System.out.println(str);

とすればyahooのhtmlが出力されますが、日本語が文字化けします。
対策を教えてください。

また、yahooのようなページのテキスト(htmlタグを除く)だけを取得する方法を教えてください。

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

  • 回答No.1
  • ベストアンサー

ベストアンサー率 44% (13/29)

日本語が文字化け対応
もし、コマンドプロンプトへの出力での文字化けであれば、コマンドプロンプトの文字コードをUTF-8に変更、レジストリもいじって日本語も表示できるようにする必要もあり。参考URL 1番目

その他の環境での文字化けでも、UTF-8文字列をMS932として解釈しているはずなので、環境をUTF-8に変更すれば解決するはず。

テキスト(htmlタグを除く)だけを取得する方法
HTML自体がテキストなので、何をしたいのか、よく分からん。
画面に表示されるテキストのみ取得したいという意味なら、自前でHTMLを解析するか、既存のHTMLパーサを利用する。参考URL 2番目
お礼コメント
noname#101202
ありがとうございます。
最初の件は、InputStreamReader の第2パラに String で "utf-8" を指定したらうまくいきました。
HTML パーサを調べて見ます。
投稿日時:2009/06/15 20:26
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ