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

如何自动定期从登录后网页指定字段导出数据至CSV/文本文件?

解决方案:用用户脚本/本地脚本实现自动定时抓取导出

核心解决办法

用浏览器的用户脚本管理器(免费)写自定义脚本,或者用本地Node.js工具Puppeteer,就能实现定时触发、多标签页遍历、指定字段提取、CSV/TXT导出,完全适配需要登录的网站。


方案1:浏览器用户脚本(Tampermonkey/Greasemonkey)

这是最方便的浏览器端方案,不用额外装软件。

步骤1:装脚本管理器

  • Chrome 装 Tampermonkey 扩展
  • Firefox 装 Greasemonkey 或 Tampermonkey 扩展

步骤2:写自定义脚本

下面是一个可直接改的模板,根据目标网站的页面结构调整就行:

// ==UserScript==
// @name         自动定时抓数据导出
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  每分钟扫一遍目标网站的标签页,抓指定内容存成CSV
// @author       你自己
// @match        *://你的目标网站域名/*  // 替换成实际网站,比如*://example.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 每分钟执行一次,想改间隔就改60000(单位毫秒)
    setInterval(function() {
        // 只找目标网站的标签页
        chrome.tabs.query({url: "*://你的目标网站域名/*"}, function(tabs) {
            tabs.forEach(function(tab) {
                // 给每个标签页注入抓取代码
                chrome.tabs.executeScript(tab.id, {
                    code: `
                        // 1. 抓你要的字段,这里是示例,自己改选择器
                        const items = document.querySelectorAll('.data-item');
                        const data = Array.from(items).map(item => ({
                            标题: item.querySelector('.title').textContent.trim(),
                            数值: item.querySelector('.value').textContent.trim()
                        }));

                        // 2. 转成CSV格式
                        const csvHeader = Object.keys(data[0]).join(',');
                        const csvRows = data.map(row => Object.values(row).join(','));
                        const csvContent = [csvHeader, ...csvRows].join('\\n');

                        // 3. 导出成文件
                        const blob = new Blob([csvContent], {type: 'text/csv;charset=utf-8;'});
                        const url = URL.createObjectURL(blob);
                        const a = document.createElement('a');
                        a.href = url;
                        a.download = \`数据_\${new Date().toISOString().slice(0,10)}.csv\`;
                        a.click();
                        URL.revokeObjectURL(url);
                    `
                });
            });
        });
    }, 60000);
})();

脚本修改提示

  • 把@match和tabs.query里的域名换成你要抓的网站
  • 改document.querySelectorAll和内部的选择器,对应页面上你要提取的元素
  • 要导出TXT的话,把text/csv改成text/plain,文件后缀改成.txt
  • Firefox 用的话,把chrome.tabs换成browser.tabs就行

权限配置

  • Chrome 里在Tampermonkey的脚本设置里,开「允许访问文件网址」,并确保脚本只在目标网站运行
  • Firefox 要在扩展权限里允许脚本访问目标网站

方案2:本地Node.js工具Puppeteer

如果用户脚本满足不了复杂需求,比如需要更灵活的登录逻辑,用这个本地工具更靠谱。

步骤1:准备环境

先装Node.js,然后在命令行运行npm install puppeteer

步骤2:写脚本示例

const puppeteer = require('puppeteer');
const fs = require('fs');

async function scrapeData() {
    const browser = await puppeteer.launch({headless: false}); // 要隐藏浏览器就把false改成true
    const page = await browser.newPage();

    // 先登录,这里要改成目标网站的登录步骤
    await page.goto('https://你的目标网站/login');
    await page.type('#username', '你的账号');
    await page.type('#password', '你的密码');
    await page.click('#login-btn');
    await page.waitForNavigation();

    // 遍历所有打开的标签页
    const pages = await browser.pages();
    for (const tab of pages) {
        if (tab.url().includes('你的目标网站域名')) {
            // 提取数据,逻辑和用户脚本一样,改选择器就行
            const data = await tab.evaluate(() => {
                const items = document.querySelectorAll('.data-item');
                return Array.from(items).map(item => ({
                    标题: item.querySelector('.title').textContent.trim(),
                    数值: item.querySelector('.value').textContent.trim()
                }));
            });

            // 写入CSV文件
            const csv = Object.keys(data[0]).join(',') + '\n' + data.map(row => Object.values(row).join(',')).join('\n');
            fs.writeFileSync(`数据_${new Date().toISOString().slice(0,10)}.csv`, csv);
        }
    }
    await browser.close();
}

// 每分钟执行一次
setInterval(scrapeData, 60000);

注意事项

  • 登录逻辑要根据目标网站的表单改,要是有验证码或者双因素认证,得额外处理
  • 脚本运行起来后,会自动打开浏览器完成操作,不用你手动管

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 00:45:24