Links 2.21 是一款出色的基于文本的浏览器,能够从 URL 输出格式化的文本。
links -dump "https://example.com/page.html" > output.txt
照原样,output.txt 仅以文本形式包含所有链接,例如,如果 html 源中有一个这样的链接:
<a href="/some/link/example.html">Some Text</a>
那么 output.txt 将只包含“一些文本”,而没有任何来自 href 属性的内容。
我想要做的是将链接中的信息包含在输出中,例如这样:
[Some Text|https://example.com/some/link/example.html]
或类似的东西。这可能吗?浏览器显然有这个信息,因为当它呈现页面时,链接是“可点击的”(实际上可以通过文本模式下的按键选择)并且它正确地跟踪所有链接。
或者是否有另一种方法将网页转换为纯文本但以结构化的方式包含有关 <a ...> 标签的所有信息?
请注意,我完全了解大量可以从网页中提取链接的工具和大量可以将网页转换为文本的工具,但实际上没有一种工具可以同时完成这两项工作。
答案1
如果可以在转储末尾列出链接地址,您可以执行以下操作:
links -html-numbered-links 1 -dump "https://example.com/"
结果看起来会像这样
Example Domain
This domain is for use in illustrative examples in documents. You may use
this domain in literature without prior coordination or asking for
permission.
[1]More information...
Links:
1. https://www.iana.org/domains/example