我喜欢使用curl
命令行来处理 html 页面。
相对网址很痛苦。
是否有一些简单的实用程序可以使所有相对网址成为绝对网址?
理想情况下,这看起来像
curlabsolute $URL | process
答案1
你需要的是wget
实用性:
假设我们需要下载 给出的一个简单网页http://www.littlewebhut.com/articles/simple_web_page/
。
命令(下面使用网址是真实的,可以“按原样”测试该命令):
wget -O simple_page -k http://www.littlewebhut.com/articles/simple_web_page/
-O
(--output-document=file
) - 文档不会写入相应的文件,但所有文档将连接在一起并写入file
。-k
(--convert-links
) - 下载完成后,转换文档中的链接,使其适合本地查看
我将仅演示上述网页中的一些上下文 html 片段前下载(在线版本):
...
<ul>
<li><a href="/" class="color-menu">Home</a></li>
<li><a href="/html/" class="color-menu">HTML</a></li>
<li><a href="/css/" class="color-menu">CSS</a></li>
<li><a href="/javascript/" class="color-menu">JavaScript/jQuery</a></li>
<li><a href="/inkscape/" class="color-menu">Inkscape</a></li>
<li><a href="/gimp/" class="color-menu">GIMP</a></li>
<li><a href="/blender/" class="color-menu">Blender</a></li>
<li><a href="/articles/" class="color-menu">Articles</a></li>
<li><a href="/contact/" class="color-menu">Contact</a></li>
</ul>
同一个片段后下载,保存在文件中simple_page
:
...
<ul>
<li><a href="http://www.littlewebhut.com/" class="color-menu">Home</a></li>
<li><a href="http://www.littlewebhut.com/html/" class="color-menu">HTML</a></li>
<li><a href="http://www.littlewebhut.com/css/" class="color-menu">CSS</a></li>
<li><a href="http://www.littlewebhut.com/javascript/" class="color-menu">JavaScript/jQuery</a></li>
<li><a href="http://www.littlewebhut.com/inkscape/" class="color-menu">Inkscape</a></li>
<li><a href="http://www.littlewebhut.com/gimp/" class="color-menu">GIMP</a></li>
<li><a href="http://www.littlewebhut.com/blender/" class="color-menu">Blender</a></li>
<li><a href="http://www.littlewebhut.com/articles/" class="color-menu">Articles</a></li>
<li><a href="http://www.littlewebhut.com/contact/" class="color-menu">Contact</a></li>
</ul>