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

如何从NW.js开发的应用无后缀历史文件中实时提取数据?

从NW.js应用无后缀历史文件实时提取数据的可行方案

1. 先明确文件的实际格式

  • 用十六进制编辑器(比如HxD)打开文件查看头部特征:NW.js应用的历史记录常用JSON、SQLite(头部标识为SQLite format 3)或自定义二进制格式。从你提供的截图来看,内容是结构化键值对,大概率是JSON文本或轻量数据库格式。
  • 也可以直接用文本编辑器(如VS Code)打开,若能看到可读的键值内容,基本可判定为文本类格式(JSON/CSV等)。

2. 实时监控+数据提取的具体实现

开发级方案(Node.js适配NW.js,兼容性好)

用Node.js的chokidar库(比原生fs.watch更稳定)监控文件变化,触发数据读取与提取:

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

// 替换为你的目标文件绝对路径
const targetFile = '/path/to/your/history/file';

const watcher = chokidar.watch(targetFile, {
  persistent: true,
  ignoreInitial: false // 启动时先读取一次现有内容
});

// 文件更新时触发提取逻辑
watcher.on('change', () => {
  fs.readFile(targetFile, 'utf8', (err, rawData) => {
    if (err) throw err;
    parseAndExtract(rawData);
  });
});

// 自定义解析函数,根据实际格式调整
function parseAndExtract(rawData) {
  // 优先尝试JSON格式解析
  try {
    const historyData = JSON.parse(rawData);
    // 示例:提取浏览记录的URL与时间戳
    const targetRecords = historyData?.items?.map(item => ({
      url: item.url,
      time: new Date(item.timestamp)
    }));
    console.log('实时提取到的记录:', targetRecords);
  } catch (e) {
    // 非JSON格式则按文本行处理,过滤关键字段
    const lines = rawData.split('\n').filter(line => line.trim());
    lines.forEach(line => {
      if (line.includes('"url":')) {
        console.log('提取内容:', line);
      }
    });
  }
}

非开发场景(命令行直接使用)

  • Linux/macOS:用tail -F实时追踪文件,配合grep过滤目标字段:
tail -F /path/to/history/file | grep '"url":'
  • Windows:PowerShell用Get-Content -Wait实现实时监控:
Get-Content C:\path\to\history.file -Wait | Select-String 'url'

3. 特殊格式的适配处理

如果是SQLite数据库文件:用sqlite3库连接,定时查询最新记录:

const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('/path/to/history/file');

// 每秒查询一次最新10条记录
setInterval(() => {
  db.all('SELECT url, timestamp FROM history ORDER BY timestamp DESC LIMIT 10', (err, rows) => {
    if (err) throw err;
    console.log('最新记录:', rows);
  });
}, 1000);

如果是自定义二进制格式:需要用十六进制编辑器分析字节结构,按固定长度对应提取字段(比如前8字节为时间戳、后续256字节为URL等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:15:34