我正在 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 从此代码获取图像?
最佳答案
获取元素,然后使用.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 的东西,而不是来自 anchor 的 href,它只包含一个 URL,可以通过 获取?
var href = element.find('a').attr('href');
关于javascript - Cheerio 从 href 中的 json 获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36957647/