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

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Proofpoint News Feed
Attack and Defense Labs
Attack and Defense Labs
Security Archives - TechRepublic
Security Archives - TechRepublic
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Full Disclosure
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
V2EX - 技术
V2EX - 技术
B
Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
M
MIT News - Artificial intelligence
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
W
WeLiveSecurity
Stack Overflow Blog
Stack Overflow Blog
TaoSecurity Blog
TaoSecurity Blog
T
Threatpost
小众软件
小众软件
T
The Blog of Author Tim Ferriss
Google Online Security Blog
Google Online Security Blog
MongoDB | Blog
MongoDB | Blog
T
Tenable Blog
P
Privacy International News Feed
S
Security @ Cisco Blogs
H
Heimdal Security Blog
大猫的无限游戏
大猫的无限游戏
B
Blog RSS Feed
H
Help Net Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Proofpoint News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
有赞技术团队
有赞技术团队
Application and Cybersecurity Blog
Application and Cybersecurity Blog
O
OpenAI News
Security Latest
Security Latest
S
Securelist
Cyberwarzone
Cyberwarzone
D
Docker
S
Schneier on Security
V
Vulnerabilities – Threatpost
The GitHub Blog
The GitHub Blog
P
Privacy & Cybersecurity Law Blog
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research

遥远的街市

简单实现 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 格式(目前为一个文件夹)
  • 下载支持断点续传