惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
S
Schneier on Security
H
Help Net Security
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog
云风的 BLOG
云风的 BLOG
H
Hacker News: Front Page
C
Check Point Blog
P
Privacy International News Feed
IT之家
IT之家
爱范儿
爱范儿
AWS News Blog
AWS News Blog
The Hacker News
The Hacker News
Stack Overflow Blog
Stack Overflow Blog
Project Zero
Project Zero
Microsoft Azure Blog
Microsoft Azure Blog
量子位
The Cloudflare Blog
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Cybersecurity and Infrastructure Security Agency CISA
I
Intezer
Martin Fowler
Martin Fowler
Scott Helme
Scott Helme
酷 壳 – CoolShell
酷 壳 – CoolShell
A
Arctic Wolf
T
Threat Research - Cisco Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Exploit Database - CXSecurity.com
B
Blog
Simon Willison's Weblog
Simon Willison's Weblog
U
Unit 42
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
博客园_首页
J
Java Code Geeks
K
Kaspersky official blog
Webroot Blog
Webroot Blog
C
CERT Recently Published Vulnerability Notes
H
Heimdal Security Blog
G
Google Developers Blog
T
Tor Project blog
W
WeLiveSecurity
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Blog — PlanetScale
Blog — PlanetScale
小众软件
小众软件
有赞技术团队
有赞技术团队

遥远的街市

简单实现 C++ 字符串格式化 - 遥远的街市 状态机与函数式编程(二) - 遥远的街市 状态机与函数式编程 - 遥远的街市 筛选、编辑与网络社区 - 遥远的街市 谈谈我最近的编程语言选择 - 遥远的街市 我的金融投资书单 - 遥远的街市 谈 xxxholic - 遥远的街市 对 cursor.so 的两个简单测试 - 遥远的街市 内存盘简介 - 遥远的街市
网络文章存档工具 get-article 发布 - 遥远的街市
henix · 2022-09-17 · via 遥远的街市

最后更新日期:2022-09-18

  get-article 的功能是将一篇网络文章以及引用的所有资源(图片、公式、音频、视频等)完整地存档到本地。包含命令行和图形界面程序。

  我的目标是做成“网络文章”领域的 youtube-dl 。

get-article 桌面版

  如何使用以及下载请到:https://lab.henix.info/get-article.html

  下面我重点谈谈这个软件的创作背景。

  可能大家第一眼看到这个东西的时候会有一些疑问:

  • 我为什么需要它?
  • 它跟 RSS 有什么区别?
  • 我用浏览器的 Ctrl+S 另存为不也可以实现这个功能?
  • 我用笔记软件的网页剪藏不也可以?

  我做这个软件是因为我收藏了好几篇微信公众号文章,我希望把它们离线存档下来,做成类似电子书的东西,拷贝到任何地方都可以直接打开看,这样我才觉得是真正“拥有”这篇文章。

  文章存档应该具有如下性质:

  1. 你完全拥有这篇文章的全部数据,因此你可以在断网的情况下浏览。换句话说,文章的全部数据保存在本地
  2. 保存的格式应该是开放的,从而可以在各种操作系统和软件中打开

  看过我过去的文章的朋友可能知道,我对上网这件事的看法是,少用“关注”、少用 RSS ,提倡多读书、多读经典(参见《谈经典》)。

  这就产生了一个问题:网络文章中可能产生“经典”吗?或者退一步讲,“高质量”文章?

  经过这么多年上网实践,我认为确实存在那么一些文章,我可能会时常拿出来反复阅读。对于这样的文章,我希望用书籍的标准对待它们——那就是把它们完全保存下来。经常上网的朋友肯定知道,网络文章突然消失的概率不低,近年来还有越来越频繁的迹象。

  • 可能是因为审查或者审查标准变了
  • 可能是因为被多人举报
  • 可能是作者自己删除
  • 也可能是因为网站关闭

  如果你上网的时间足够长,你可能已经见证了很多网站的关闭:blogcn 、网易博客、百度贴吧 2017 年之前的帖子、百度空间、……

  有了以上的背景,下面就可以讨论 get-article 这一网络文章存档工具跟其他类似工具的异同了:

  RSS 是发生了一件事之后你会得到通知。RSS 更强调提醒、通知(notify)、推送(push)。而 get-article 更强调存档(archive)。RSS 也可以输出全文,但一般不会把文章用到的图片甚至视频全部保存下来。

  这也可以解释我为什么不想做“保存专栏中所有文章”的功能,而必须让用户一篇一篇地手动保存:我认为不太可能一整个专栏里所有文章都是“经典”或“高质量”的。你没有那么多文章要存。不妨运用你的判断力筛选出真正重要的东西吧!这个世界上真正重要的东西是稀少的,你不可能说每样东西都重要。

  换句话说,我认为不是所有的“方便”都值得追求,有时候我们需要某种“不方便”。因为“不方便”强迫我们去分辨真正重要的东西。

浏览器的类似功能

  在 Chrome 中按 Ctrl+S 可以选择保存为完整 html 或者 mht 。Chrome 也有打印到 pdf 功能,可以将网页保存为 pdf 格式。

  • pdf 的问题

    1. 无法方便地拿到单独的图片文件、对动态内容支持不够
    2. 不方便搜索内容
  • 网页另存为的问题

    1. 对微信公众号等按需加载的图片保存后的网页上可能显示不出来(archive.org 等在线服务也存在这个问题)
    2. 保存了很多无用的 js ,后续本地打开的时候还会执行 js ,执行出错导致页面错乱

笔记软件的网页剪藏

  如印象笔记、Obsidian 等。

  1. 必须跟特定的笔记软件配合使用
  2. 图片可能是保存到该笔记软件的服务器或者第三方云存储,而非用户本地
  3. 对页面上的数学公式、视频等动态元素支持可能不够完善

  另外,我经常用稍后阅读软件 getpocket 保存微信公众号文章,但只要文章里带有数学公式,那基本上就没办法看:因为在 getpocket 里数学公式全部显示不出来。

  总体说来,浏览器的打印到 pdf 是大致能符合我的要求的,但细节不够完善。

未来展望

  如果这个工具的用户足够多,根据用户反馈的情况,我可能会考虑在未来增加以下功能:

  • 保存为 epub 格式(目前为一个文件夹)
  • 下载支持断点续传