是否有任何选项可以curl
将页面另存为文本?
我的意思是,就像将页面保存在浏览器中一样文本文件。至少,Firefox 有这个选项。
我需要它作为脚本,我只需做类似的事情
curl -s http://...
但如果没有所有 html 代码,它会让事情变得更容易处理。
我找到了一个lynx
可以实现我想要的选项:lynx -dump
,但我宁愿使用curl
.
谢谢。
答案1
你可以考虑潘多克,一个将文件从一种标记格式转换为另一种标记格式的强大工具。
curl -s URL | pandoc -f html -t plain
使用起来很简单:
pandoc [OPTIONS] [FILES]
-f FORMAT, -r FORMAT --from=FORMAT, --read=FORMAT
-t FORMAT, -w FORMAT --to=FORMAT, --write=FORMAT
-o FILE --output=FILE
--data-dir=DIRECTORY
键入pandoc --list-input-format
并pandoc --list-output-formats
了解您可以移动的格式。
答案2
不,您可以使用lynx
以下方法:
lynx -dump URL
更新。行动。对不起。我没看到你了解山猫。
我建议用于lynx
此目的。它通常会产生非常可读的输出。有时您应该使用-width
选项来增加输出的宽度。
答案3
您仍然可以使用您的curl
命令,并将其通过管道传输到lynx
.如果您需要通过身份验证或任何特定的curl 参数,这非常有用。例如:
curl --config auth.cfg $URL | lynx -stdin -dump -width=100
这将传递 auth.cfg 文件参数来访问 URL,并以纯文本形式打印 html 页面(没有 html 标签和转义字符)。
答案4
curl
是一个命令检索文件来自 Web 服务器,其格式与服务器发送的格式完全相同。你期望的是将 HTML 文件转换为纯文本,这是一个完全不同的任务。因此,您需要另一个工具来实现此目的,因为这不是curl
设计的目的。