javascript
  • json
  • node.js
  • 2016-04-30 10 views 2 likes 
    2

    私はNode.jsのCheerioモジュールを使用してWebページを解析しています。Chereioはhrefのjsonから画像を取得します

    <div class="offer-photo" data-photo-urls='[{"small":"http://img02.allegroimg.pl/photos/64x48/61/16/25/71/6116257188","medium":"http://img02.allegroimg.pl/photos/400x300/61/16/25/71/6116257188"}]'> 
         <a href="http://allegro.pl/klasyczne-okulary-lenonki-lustrzanki-kolory-etui-i6116257188.html" class="inner lazy-load" data-src="http://img02.allegroimg.pl/photos/128x96/61/16/25/71/6116257188"> 
    
         <noscript> 
          <img src="http://img02.allegroimg.pl/photos/128x96/61/16/25/71/6116257188" alt="" /> 
         </noscript> 
    
         </a> 
    
        </div> 
    

    このコードからCheerioを使用して画像を取得するにはどうすればよいですか?

    答えて

    1

    要素を取得し、そのデータ属性を取得し、JSON

    var cheerio = require('cheerio'), 
    $ = cheerio.load(html); 
    
    var element = $('.offer-photo').first(); 
    var data = element.data('photo-url'); 
    var obj  = JSON.parse(data); 
    

    を解析するために.data()メソッドを使用して、データの属性は、JSONを含む唯一のものではなく、アンカーのhrefからのようです、それは得ることができるURLだけを含んでいますか?

    var href = element.find('a').attr('href'); 
    
    +0

    私はあなたが期待しているものを画像:) – lukassz

    +0

    がわからない取得、データは2枚の画像のみ(URLの)が含ま属性? – adeneo

    関連する問題