You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过XMLHttpRequest获取谷歌云盘共享文件夹全部文件?

解决谷歌云盘共享文件夹全文件列表获取问题

你的问题核心在于:谷歌云盘共享文件夹采用前端滚动动态加载机制,初始HTML仅包含部分文件,剩余内容需要浏览器执行JS、触发滚动事件后才会加载。而XMLHttpRequest只能获取初始静态HTML,无法模拟浏览器的渲染和JS执行流程,所以拿不到全部文件。

纯前端方案(仅用浏览器端JS)无法实现,因为浏览器的同源策略和静态HTML的局限性,没法在请求后动态触发滚动加载。这里推荐用Headless浏览器工具Puppeteer来模拟完整的浏览器操作,无需Google Drive API,具体步骤如下:

步骤1:安装Puppeteer

首先确保你安装了Node.js,然后执行命令:

npm install puppeteer

步骤2:编写获取全文件列表的代码

创建一个.js文件(比如getDriveFiles.js),写入以下代码:

const puppeteer = require('puppeteer');

(async () => {
    // 启动Headless浏览器
    const browser = await puppeteer.launch({ headless: 'new' });
    const page = await browser.newPage();

    // 打开目标谷歌云盘文件夹页面
    const driveUrl = 'https://drive.google.com/drive/folders/1HyDpcxgsYjpGQ4hqw7EqwShsRtPzqYyi?usp=share_link';
    await page.goto(driveUrl, { waitUntil: 'networkidle2' });

    // 循环滚动到底部,直到没有新内容加载
    let previousHeight = 0;
    while (true) {
        // 滚动到当前页面底部
        await page.evaluate('window.scrollTo(0, document.body.scrollHeight)');
        // 等待1秒让新内容加载(可根据网络情况调整)
        await page.waitForTimeout(1000);
        // 获取当前页面高度
        const currentHeight = await page.evaluate('document.body.scrollHeight');
        // 如果高度不再变化,说明所有内容已加载完成
        if (currentHeight === previousHeight) break;
        previousHeight = currentHeight;
    }

    // 提取所有文件的名称和链接
    const files = await page.evaluate(() => {
        const fileElements = document.querySelectorAll('.Q5txwe');
        return Array.from(fileElements).map(el => ({
            name: el.textContent.trim(),
            link: el.querySelector('a').href
        }));
    });

    // 输出结果
    console.log('所有文件列表:', files);
    console.log(`共获取到${files.length}个文件`);

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

步骤3:运行代码

在终端执行:

node getDriveFiles.js

关键说明

  • Puppeteer模拟了真实浏览器的行为,包括执行页面JS、触发滚动事件,因此能加载所有动态内容。
  • 代码中的waitForTimeout(1000)可以根据你的网络速度调整,确保新内容有足够时间加载。
  • 若文件加载速度较慢,可以适当延长等待时间,或者改用更精准的等待方式(比如等待新的文件元素出现)。

内容的提问来源于stack exchange,提问作者Amr Sharaki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:28:12