base-data.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. const cheerio = require('cheerio');
  2. var entities = require('html-entities').XmlEntities;
  3. function baseData(driver) {
  4. return new Promise((resolve, reject) => {
  5. driver.getPageSource().then(htmlStr => {
  6. const data = {};
  7. const $ = cheerio.load(htmlStr);
  8. data.title = $('.tb-detail-hd h1').text();
  9. data.title = data.title.replace(/(\t|\n)/igm, '');
  10. data.price = $('#J_StrPriceModBox .tm-price').text();
  11. data.price2 = $('#J_PromoPrice .tm-price').text();
  12. data.address = $('#J_deliveryAdd').text();
  13. // 品牌
  14. data.brand = $('#J_AttrList .name b').text();
  15. // 参数
  16. data.info = [];
  17. $('#J_AttrUL li').each((i, e) => {
  18. const htmlArr = $(e).text().split(':');
  19. data.info.push({
  20. key: htmlArr[0],
  21. val: htmlArr[1]
  22. })
  23. })
  24. // 详情
  25. data.details = [];
  26. $('.content p img').each((i, e) => {
  27. data.details.push($(e).attr('src'));
  28. });
  29. resolve(data);
  30. });
  31. });
  32. }
  33. exports.baseData = baseData;