2011-08-03 53 views
1

ウェブサイトからテキストを取得しようとしています。言語を変更すると、html urlには "/ en"が内部にありますが、必要な情報を持っているページにはありません。私はそれをどのように行うことができます任意のアイデアをJava - HTMLの解析 - テキストの取得

http://www.wippro.at/module/gallery/index.php?limitstart=0&picno=0&gallery_key=92 

html tags: (the text contains the description of the photo) 
<div id="redx_gallery_pic_title"> text text </div> 

問題は、ウェブサイトはドイツ語であると私は、英語のテキストをしたいということで、私のスクリプトは、ドイツ語版

を取得しますか?

java code: 
... 
URL oracle = new URL(x); 
BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream())); 
    String inputLine=null; 
    StringBuffer theText = new StringBuffer(); 
    while ((inputLine = in.readLine()) != null) 
      theText.append(inputLine+"\n"); 
    String html = theText.toString(); 
    in.close(); 

String[] name = StringUtils.substringsBetween(html, "redx_gallery_pic_title\">", "</div>"); 
+0

どのようなプログラミング言語をお使いですか? HTMLを解析するために使用する言語APIは何ですか?これまでにHTMLコンテンツを取得するためのコードを表示します。 – BalusC

+0

プログラミング言語:Java –

+0

私は答えを投稿しましたが、将来は本当にそのように言及してタグ付けする必要があります。サイトからHTMLを解析する方法がありますが、あなたはそれについて何も言わなかったのです。 – BalusC

答えて

3

このサイトはデフォルトでドイツ語で国際化されています。希望の言語ISO 639-1の言語コードをAccept-Languageリクエストヘッダーに指定することによって、サーバーにどの言語を受け入れるかを伝える必要があります。具体的な問題への無関係

URLConnection connection = new URL(url).openConnection(); 
connection.setRequestProperty("Accept-Language", "en"); 
InputStream input = connection.getInputStream(); 
// ... 

、私はあなたがHTMLパーサとしてJsoupを見てすることをお勧めできますか?それははるかに便利そのjQueryのようなCSSセレクタの構文を持つため、それほど肥大化し、あなたの試みよりも限りです:すべてのです

String url = "http://www.wippro.at/module/gallery/index.php?limitstart=0&picno=0&gallery_key=92"; 
Document document = Jsoup.connect(url).header("Accept-Language", "en").get(); 
String title = document.select("#redx_gallery_pic_title").text(); 
System.out.println(title); // Beech, glazing V3 

を。

+0

ありがとうございました –

+0

よろしくお願いします。 – BalusC

+0

しかし、もし私がルーマニア語のテキストを取得したいのですか?私が "en"の代わりに "ro"を置くと、私は特殊文字を取得しません。 –