我在Node.js中使用cheerio模块来解析网页。我有一个问题,因为我想解析这段代码:
<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获取图像?
答案 0 :(得分: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);
data-attribute似乎是唯一包含JSON的东西,而不是来自锚点的href,它只包含一个可以获得的URL?
var href = element.find('a').attr('href');