const cheerio = require('cheerio'); // 获取当前页数据 function tmallGetListData(htmlStr) { let goodsArr = []; let $ = cheerio.load(htmlStr); let list = $('#J_ShopSearchResult .J_TItems>div'); for (var i = 0; i < list.length; i++) { const item = list[i]; // 遇到分页直接停止,分页后面是推荐的 if ($(item).hasClass('pagination')) { break; } else { $(item).find('.item').each((i, e) => { const title = $(e).find('.item-name').text(); const img = $(e).find('.photo img').attr('src'); const url = $(e).find('.item-name').attr('href'); const id = url.replace(/(.+id=)(\d+)(&.+)/igm, '$2'); const obj = { title, img, url, id } goodsArr.push(obj) }); } } console.log(`列表获取完成: 共${goodsArr.length}个数据`) return goodsArr; } exports.tmallGetListData = tmallGetListData;