2016-10-28 13 views
1

私はAmazonのカテゴリをクロールしており、salesrankと製品URLを取得しています。今はカテゴリをクロールしたいので、カテゴリのスパンからすべての情報を取得します。WebクローラAmazon get span-Element

<span class="zg_hrsr_ladder">in&nbsp;<a href="https://www.amazon.de/gp/bestsellers/books/ref=pd_zg_hrsr_b_1_1">B&uuml;cher</a> &gt; <a href="https://www.amazon.de/gp/bestsellers/books/287480/ref=pd_zg_hrsr_b_1_2">Krimis & Thriller</a> &gt; <b><a href="https://www.amazon.de/gp/bestsellers/books/419954031/ref=pd_zg_hrsr_b_1_3_last">Deutschland</a></b></span> 

これは例のコードスニペットで、コード

Elements category = htmlDocument.select("span.zg_hrsr_ladder"); 

次に私はスパン内のすべてを取得。しかし、私はhref "Bücher" "Krimis &スリラー"と "Deutschland"の中のテキストのみを必要とします。この情報はどのように入手できますか?

+0

、代わりにAPIを使用して... http://docs.developer.amazonservices.com/en_US/products /index.html – baao

答えて

1

<a>要素内のテキストを取得したいので、範囲内のアンカーを選択して(セレクタに「a」を追加)、text()と結果の要素を呼び出します。代わりに、クロールの

サンプルコード

String source = "<span class=\"zg_hrsr_ladder\">in&nbsp;<a href=\"https://www.amazon.de/gp/bestsellers/books/ref=pd_zg_hrsr_b_1_1\">B&uuml;cher</a> &gt; <a href=\"https://www.amazon.de/gp/bestsellers/books/287480/ref=pd_zg_hrsr_b_1_2\">Krimis & Thriller</a> &gt; <b><a href=\"https://www.amazon.de/gp/bestsellers/books/419954031/ref=pd_zg_hrsr_b_1_3_last\">Deutschland</a></b></span>"; 

Document htmlDocument = Jsoup.parse(source, "UTF-8"); 

Elements category = htmlDocument.select("span.zg_hrsr_ladder a"); 

category.forEach(aElement -> { 
    System.out.println(aElement.text()); 
}); 

出力

Bücher 
Krimis & Thriller 
Deutschland 
+0

ありがとうございました!それが私を助けました! – moses

関連する問題