2017-07-27 6 views
0

私はHTMLが新しく、HTML文字列からデータを取得しようとしています。Jsoupを使用してhtmlからデータを取得するには

<li> 
     <div class="item" data-youtube_code="code_for_youtuber" data-feature_code="data" data-feature_url="/movies/Truman"> 
     <div class="title"> 
     <span>the title of the video</span> 
     </div> 
     <div class="image"> 
     <img src="/media/image.png" data-src="http://url_of_image.jpg" alt=""> 
     </div> 
     </div> </li> 

私は、Java Jsoupライブラリを使用していますし、これまでのところ、私は使用して<span>コンテンツを抽出するために管理してきました:

Document doc = Jsoup.connect("http://www.yesplanet.co.il/movies").get(); 
    System.out.println(doc.html()); 
    Elements elem = doc.select(".item").text();   

はどのようなdata-youtube_codeimg srcなど他のものを得ることができます。

編集:たとえば :あなたは、単に最初のdivを選択し、属性で値を取得することができます

System.out.println("doc...data-youtube_code");//some code that retrieves 
//data-youtube_code. The ouptup will be "code_for_youtuber" 

System.out.println("data-src") 
//some code that retrieves 
//data-src. The ouptup will be "http://url_of_image.jpg" 
+0

を探すことをお勧めは、あなたが期待される出力が何であるかを共有してもらえますか? – soorapadman

+0

私に通知してくれてありがとう、編集された – ben

答えて

2

Element elements = Jsoup.parse(s).select("div").first(); 
    System.out.println(elements.attr("data-youtube_code")); 

出力:

code_for_youtuber 

EDIT:

Element elements = Jsoup.parse(s).select(".item").first(); 
    System.out.println(elements.attr("data-youtube_code")); 
    Element element1 = elements.select(".image img").first(); 
    System.out.println(element1.attr("data-src")); 

出力:

code_for_youtuber 
http://url_of_image.jpg 

あなたが初心者なので、私はあなたがこのlink

+0

"img src"のコンテンツを入手する方法を追加してください。それはattrではなくinnerタグであるattr()は動作しません – ben

関連する問題