2016-04-27 10 views
0

ウェブページ内のdiv(ID付き)から文字列を取得する方法の解決策を見つけるために、別のURLを使用しました。JSoup - div id内のdivクラスのURLを取得

Document doc = Jsoup.connect("http://www.wowhead.com/item=" + item_id).get(); 
Elements info = doc.select("div#ic" + item_id); 
System.out.println(info); 

アイテムIDの例では、10003 Iは内側のdivにいた項目に対応する画像のURLをつかむしようとしていることになるが、それはこれだけを返します:

ここで私が現在持っているコードがあります
<div id="ic10003" style="float: left"></div> 

私もこれで、iconlargeと呼ばれる内部のdivクラスを選択しようとした:

Elements info = doc.select("div.iconlarge"); 

しかし、それは何も返しません。私はそれが可変型の問題だと仮定していますが、私はまだ分かりません。助言がありますか?

+0

ことができますより具体的なあなたの期待出力は何ですか? – soorapadman

+0

私はdivの中に書かれた画像のURLをつかみようとしていました。 10003を使用している場合、期待される出力はこれでした:http://wow.zamim.com/images/wow/icons/large/inv_gauntlets_05.jpg nyname00は私の問題を解決しました。もう一度、遅い返事をおかけして申し訳ありません。 –

答えて

0

Jsoupを使用するとこれは難しくなります。コンテンツのない

<div id="ic10003" style="float: left"></div> 

:あなたを印刷するときdocあなたは要素があることがわかります。数行下にかかわらず、そこにそのDIVに画像を追加しているようだスクリプトは次のとおりです。Jsoupは、

$WH.ge('ic10003').appendChild(Icon.create('inv_gauntlets_05', 2, null, 0, 1)); 
// and a few more lines 

HTMLを解析することができるだけで、それは任意のスクリプトを実行しませんか要素にスタイルシートを適用します。

ない、それはあなたが探している正確に何であるかどうかわからが、サイトのmetaタグを見てみましょう:

<meta property="og:site_name" content="Wowhead"> 
<meta property="og:title" content="Black Mageweave Gloves"> 
<meta property="og:image" content="//wow.zamimg.com/images/wow/icons/large/inv_gauntlets_05.jpg"> 
<meta property="og:url" content="http://www.wowhead.com/item=10003/black-mageweave-gloves"> 
... 

og:imageproperty値を持つ要素は、あなたが何をしているように思わ探している。

あなたは、次の方法のようなものを使用してそれを読むことができます(ただしのみbody要素のためselect作品):

private String imgUrl(Document doc) { 
    for (Element m : doc.getElementsByTag("meta")) { 
     if ("og:image".equals(m.attr("property"))) 
      return m.attr("content"); 
    } 
    return null; 
} 
+0

遅く返事して申し訳ありません - 私が投稿した投稿への返信についての電子メールはありませんでした。助けてくれてありがとう!私は実際のdivを通過する前にmetaタグを最初に見ていたはずです。 –

関連する問題