2017-12-22 9 views
0

私はいくつかのプロジェクトを検索した後、名前、価格、説明などの特定のパラメータを持つ一連の製品を取得する必要があるオンラインショップを持っています。検索はキーワード入力で行います。 ウェブサイトはhttps://www.aboutyou.de/dein-shopです。そして、これは私が解析しようとしていた検索です:https://www.aboutyou.de/frauen/accessoires/huete-und-muetzen/caps?pl=1 私は、ページのHTMLソースには、タグの複雑な階層があることを考慮して、このすべてのデータを取得する必要があります。私はクラスによって要素を取得しようとしましたが、IDでマークされ、ボディでラップされた最高のものを除きました。 だから私はjsoup使用して、このような何かをしようとした:getElementByClassから何も表示されません。Jsoup

lements resultt = doc.body().select("main#app"); 
    for(Element el : resultt){ 
     Elements main = el.getElementsByClass("section.layout_11glwo1-o_O-stretchLayout_1jug6qr > " + 
       "div.content_1jug6qr > " + 
       "div.container > " + 
       "div.mainContent_10ejhcu > " + 
       "div.productStream_6k751k > " + 
       "div > " + 
       "div.wrapper_8yay2a > " + 
       "div.col-sm-6.col-md-4 > " + 
       "div.wrapper_1eu800j > " + 
       "div > " + 
       "div.categoryTileWrapper_e296pg > " + 
       "a.anchor_wgmchy > " + 
       "div.details_197iil9 > " + 
       "div.meta_1ihynio > " + 
       "div.finalPrice_11ythok > " + 
       "span.price_1543wg1"); 
     System.out.println("just print it" + main.text()); 
    } 

しかし、何がフレーズを「ちょうどそれを印刷する」の後に印刷されません。私は高レベルのタグを使用していくつかの情報を宝石に繋ぐので、設定上の問題ではないことを知っています。この商品のエンティティ情報を取得するために私のコードで何をすることができますか? 私はjsoupを初めて使っているので、何か助けてくれてありがとう!

+0

。 – TDG

+0

@TDGリンクを追加して質問を更新しました –

答えて

1

あなたはel.selectElements main = el.getElementsByClass("section.layout_11glwo1-o_O-stretchLayout_1jug6qr >...を交換する場合は、すべての価格のリストを得る:

17,90€19,90€19,90€24,90€19,90€24,90€24、 90€19,90€17,90€19,90€17,90€49,90€39,90€39,90€17,90€19,99€39,90€19,99€34,95€ 17,90€

おそらくセレクタがクラスセレクタではないためです。

EDIT これは私の作品の完全なコードです - それは、ウェブページを見ることなく伝えるのは難しいです

Document doc = Jsoup.connect("https://www.aboutyou.de/frauen/accessoires/huete-und-muetzen/caps?pl=1") 
      .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0") 
      .get(); 
    Elements result = doc.body().select("main#app"); 
    for(Element el : result) { 
     Elements e = el.select("section.layout_11glwo1-o_O-stretchLayout_1jug6qr > " + 
       "div.content_1jug6qr > " + 
       "div.container > " + 
       "div.mainContent_10ejhcu > " + 
       "div.productStream_6k751k > " + 
       "div > " + 
       "div.wrapper_8yay2a > " + 
       "div.col-sm-6.col-md-4 > " + 
       "div.wrapper_1eu800j > " + 
       "div > " + 
       "div.categoryTileWrapper_e296pg > " + 
       "a.anchor_wgmchy > " + 
       "div.details_197iil9 > " + 
       "div.meta_1ihynio > " + 
       "div.finalPrice_11ythok > " + 
       "span.price_1543wg1"); 
     System.out.println(e.text()); 
    } 
+0

私が選択するように変更すると、何も印刷されません。 –

+0

ありがとう!出来た。私は別のURLに接続しようとしていました。だから私は何も得ることができなかったのです。 –

関連する問題