从 chrome 导出下载历史记录

问题描述 投票:0回答:2

我在 Linux Debian 10 上使用 Google Chrome。我通过它下载了很多文件(数千个)。我应该导出我下载文件的链接。我在互联网上寻找方法并找到了一些 JS 脚本,我应该粘贴到 chrome://downloads/ 页面上的控制台,例如:

ditems = document.querySelector("downloads-manager").shadowRoot.querySelector("iron-list").querySelectorAll("downloads-item");

var div = document.createElement('div');

[].forEach.call(ditems, function (el) {
var br = document.createElement('br');
var hr = document.createElement('hr');
div.appendChild(el.shadowRoot.querySelector("#url"));
div.appendChild(br);
div.appendChild(hr);

});
document.body.innerHTML=""
document.body.appendChild(div);
document.head.style.innerHTML="";

但是这段代码中的每一个都只覆盖了我下载列表的一小部分。首先,我决定这是因为我的大列表没有加载满,所以我花了时间向下滚动直到最后并再次尝试,但没有任何改变。我应该怎么办? 截图:1,之前2,之前1,之后2,之后。我想说的是,它只显示了大列表中随机的一小部分。

javascript html list google-chrome download
2个回答
3
投票

正如 @joy-jin 在他的评论中提到的,你可以从 Chrome 的历史数据库中提取它。

  1. 找到
    History
    文件:
    • 在 macOS 上:
      ~/Library/Application\ Support/Google/Chrome/Default/
    • 在 Windows 上:
      %LocalAppData%\Google\Chrome\User Data\Default
    • 在 Linux 上:
      ~/.config/google-chrome/Default
  2. 将文件
    History
    复制到另一个位置(Chrome 打开时无法使用原始文件)。
  3. 现在,您可以使用 sqlite3 CLI 或使用 GUI SQLite 查看器(例如 DB Browser for SQLite)从复制的文件中提取下载链接。下载链接在表中
    downloads_url_chains

包含一些有用的 sqlite3 命令的类似问题:https://superuser.com/questions/602252/can-chrome-browser-history-be-exported-to-an-html-file


0
投票

我在下载管理器选项卡的控制台中使用此代码片段:

document.querySelector("body > downloads-manager")
.shadowRoot.querySelectorAll("downloads-item")
.forEach(e => setTimeout (console.log.bind (console, e.shadowRoot.querySelector("#url").href)))

setTimeout (console.log.bind(console, …))
调用可防止控制台中的行号,并使复制和粘贴列表变得更容易。

© www.soinside.com 2019 - 2024. All rights reserved.