功能更新

暂时不支持抖音中的广告视频。

通过增加refer已支持。【注意:不支持预览,小程序video组件限制】

async function getVideoSrc(url) {
  // 启动 Puppeteer 浏览器

  const browser = await puppeteer.connect({
    browserWSEndpoint: "ws://localhost:3000",
    args: ["--no-sandbox", "--disable-setuid-sandbox"],
  });

  const page = await browser.newPage();

  /*await page.setUserAgent(
    "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1"
  );*/
  await page.setViewport({ width: 1024, height: 768 });
  // 访问指定的 URL
  await page.goto(url, { waitUntil: "networkidle2" });

  await page.waitForSelector("video");

  //await new Promise((resolve) => setTimeout(resolve, 3000)); // 等待 10 秒
  // 获取第一个 video 元素的 src 属性
  const videoSrc = await page.evaluate(() => {
    const video = document.querySelector("video");


    const source = document.querySelector("video source");
    if (source?.src) {
      return source.src;
    }
    if (source?.[0]?.src) {
      return source[0].src;
    }

    return video ? video.src : null;
  });

  // 输出 video src
  console.log(`Video SRC:${videoSrc}|||`);

  // 关闭浏览器
  await browser.close();
  return videoSrc;
}

小程序二维码

用微信扫一扫

更新时间: