【问题标题】:How to leave puppeteer scraping 24/7 and checking if element disappears in real time如何让 puppeteer 24/7 全天候抓取并检查元素是否实时消失
【发布时间】:2021-08-17 17:29:50
【问题描述】:

所以我最终希望它在像数字海洋这样 24/7 全天候运行的云平台上运行。它的目的是查看亚马逊上的商品是否有货。目前,我的代码没有做我想做的事,因为它只加载页面一次,并且只有在按钮存在时才会继续。如果页面上不存在该按钮并不断加载以获取实时结果,我如何让它记录?

const puppeteer = require('puppeteer');
const CronJob = require('cron').CronJob;





async function monitor() {
    try {
        const browser = await puppeteer.launch({ headless: true });
        let page = await browser.newPage();
        page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36');
        page.setDefaultTimeout(0);
        await page.goto('https://www.amazon.com/PULSE-3D-Wireless-Headset-PlayStation-5/dp/B08FC6QLKN/ref=sr_1_1?dchild=1&keywords=ps5&qid=1622262855&sr=8-1//');       

        await page.waitForSelector('#add-to-cart-button'); 
        await page.reload(load)
        console.log("In Stock")

} catch (e) {
    console.log('our error', e);
}
    };



monitor()

【问题讨论】:

    标签: javascript node.js npm puppeteer


    【解决方案1】:

    把它放在一个while循环中

    while(true){
      try {
        await page.waitForSelector('#add-to-cart-button')
        break        
      } catch(e) {
        await page.reload()
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-06-07
      • 1970-01-01
      • 2021-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多