tmall_get_list_data.js 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. const cheerio = require('cheerio');
  2. // 获取当前页数据
  3. function tmallGetListData(htmlStr) {
  4. let goodsArr = [];
  5. let $ = cheerio.load(htmlStr);
  6. let list = $('#J_ShopSearchResult .J_TItems>div');
  7. for (var i = 0; i < list.length; i++) {
  8. const item = list[i];
  9. // 遇到分页直接停止,分页后面是推荐的
  10. if ($(item).hasClass('pagination')) {
  11. break;
  12. } else {
  13. $(item).find('.item').each((i, e) => {
  14. const title = $(e).find('.item-name').text();
  15. const img = $(e).find('.photo img').attr('src');
  16. const url = $(e).find('.item-name').attr('href');
  17. const id = url.replace(/(.+id=)(\d+)(&.+)/igm, '$2');
  18. const obj = {
  19. title, img, url, id
  20. }
  21. goodsArr.push(obj)
  22. });
  23. }
  24. }
  25. console.log(`列表获取完成: 共${goodsArr.length}个数据`)
  26. return goodsArr;
  27. }
  28. exports.tmallGetListData = tmallGetListData;