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

    我在Node.js中使用cheerio模塊來解析網頁。我有一個問題,因爲我想解析此代碼:Cheerio從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

    獲取的元素,然後使用.data()方法來獲取數據屬性,並解析JSON

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

    的數據屬性似乎包含JSON,而不是從錨點的HREF唯一,它只包含一個URL,可以與?

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

    我只得到圖像:) – lukassz

    +0

    不知道你期待什麼,數據屬性只包含兩個圖像(網址)? – adeneo

     相關問題

    • 暫無相關問題^_^