想要自动保存我访问的每个网页(为 HTML 或 MAFF/MHTML)-解决方案?

想要自动保存我访问的每个网页(为 HTML 或 MAFF/MHTML)-解决方案?

我已经尝试解决这个问题很长时间了,有多种可能性。这变得很复杂...

基本上,我想要自动化的活动是,在任何浏览器访问的每个页面上 - '右键单击,另存为,xxx.html)操作,这样我就可以完整保存我的浏览历史记录。

  1. Firefox 的 Shelve 插件在后台自动执行了这一操作,而且运行良好(它实际上可以使用 MAFF 存档 html 作为单个文件,这很好,但这种格式会使一切变慢,因此我只将它用于 HTML)。

问题:我使用其他 5 种浏览器,因此这不足以创建完整的记录。

  1. 我研究过 Cyotek WebCopy 和 WinHTTrack;它们本质上都是网络爬虫,接收 URL 然后开始将其剥离/保存为 HTML。WinHTTTrack 实际上工作正常,但它需要很长时间(比在浏览器中右键单击、另存为、xxx.html 要长得多),最糟糕的是它不是自动化的。

理论上,我要做的是从每个浏览器获取我的浏览历史记录,将其导出为带有插件的 txt 文件(因为正确的浏览器历史记录通常是 .sqlite 文件)并将其作为 txt 文件提供给程序,程序接受后,它会去抓取该 URL 列表到 0 级或 1 级或其他级别(您可以在该特定程序中指定抓取的深度)。

这非常麻烦,因为这意味着我无法真正自动化这个过程。我需要手动将 URL 提供给程序。

  1. 作为补充,我研究了路由器级别的 URL 日志记录/设置了 Web 代理,以便可以生成所有访问过的页面的与浏览器无关的 URL 列表。理论上,我可以将其提供给爬虫,并可能使其自动化?不过,我还没有想出如何生成此 URL 日志 - 有几个程序看起来很有希望:Charles(带日志记录的 Web 代理)和 Fiddler(Web 调试/日志记录工具)等。

  2. 一个名为 Proxy-offline-browser 的程序看起来很有前途,因为它完全符合我的要求,即使用 Web 代理来抓取每个 URL,然后自动保存 URL,但它显然漏洞百出、过时,并且使浏览器速度变慢太多。我会尝试联系开发人员,看看我是否使用不当。

它似乎一次只能在一个浏览器上运行。

  1. 我不认为我想要的东西会那么困难。

  2. 从抽象完美的角度来看,我想要的是:

每次任何浏览器访问网站时,都会记录 URL(我认为网络历史记录就足够了,但有时网络历史记录似乎无法捕获每个 URL)。然后,来自每个浏览器的这些日志会合并成一个巨大的 URL 列表。

然后,浏览器会自动访问每个 URL,并将其保存为 HTML(或更好的格式)。我会让它每小时运行一次,或者在计算机空闲时等以某个间隔运行一次。

  1. 另外,我研究过宏,因为理论上,如果我在访问的每个页面上都单击右键并保存,我就可以精确地重现我想要的内容。但是浏览器的宏似乎不起作用,因为您需要手动运行宏,这对我来说违背了目的。

  2. 有谁知道我该怎么做呢?!

答案1

您提到您使用 5 个网络浏览器。 浏览历史查看总共使用 4 个浏览器,似乎抓取了几乎每个访问过的网站,但我怀疑你使用的是 Safari,IE 也不太可能。它从浏览器本身提取数据,因此这将是“浏览后”保存。

如果它能抓住几个浏览器并且您可以为其他浏览器找到其他东西,那么事情可能会变得更容易。

编辑:从技术上讲,浏览历史记录视图实际上现在会提取 9 条历史记录(8 条是因为它有 IE10 之前版本和 IE10/11+Edge 作为 2 个单独的选项)

答案2

我和你的情况一样。我找到的唯一解决办法是当你访问网页时,js 会调整哪些内容会发送到本地网络服务器。如果您发现更多信息或找到了更好的解决方案,我将非常感激您的信息 :) 我也会继续寻找。

相关内容