Guest User

Untitled

a guest
Jul 22nd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. const puppeteer = require('puppeteer');
  2. const url = process.argv[2];
  3. //console.log(url);
  4.  
  5. (async () => {
  6. const browser = await puppeteer.launch();
  7. const page = await browser.newPage();
  8. await page.goto(url, {waitUntil: 'networkidle0'});
  9.  
  10. await page.waitFor(1500);
  11. const info = await page.evaluate(() => {
  12.  
  13. let products = [];
  14. let blocks = document.querySelectorAll('div.product-list.m-bg-white > ul > li');
  15. for(let i=0; i<blocks.length; i++){
  16. console.log(i, blocks[i])
  17.  
  18. let name = blocks[i].querySelector('.view-info > h1 > a');
  19. let vendor = blocks[i].querySelector('.view-info > div.line.cfg.mt6 > a');
  20. let price = blocks[i].querySelector('.view-price > div > span');
  21. let rate = blocks[i].querySelector('.view-desc > div.line.info.mt6 > div > i');
  22. let sold = blocks[i].querySelector('.view-desc > div.line.cfg.mt6');
  23.  
  24. let product = {
  25. 'name': name && name.innerText,
  26. 'vendor': vendor && vendor.innerText,
  27. 'price': price && price.innerText,
  28. 'sold': sold && sold.innerText,
  29. 'rate': rate && rate.style.width
  30. };
  31. console.log(i, product);
  32. products.push(product);
  33. }
  34.  
  35. return {
  36. 'products' : products
  37. };
  38. });
  39. info['url'] = url;
  40. console.log(JSON.stringify(info));
  41. //console.log(info);
  42. await browser.close();
  43. })();
Add Comment
Please, Sign In to add comment