获取卷曲中的页面作为文本

获取卷曲中的页面作为文本

是否有任何选项可以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-formatpandoc --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设计的目的。

相关内容