gpt4 book ai didi

html - 使用 w3m 转储 html 源代码会产生意想不到的字符/符号

转载 作者:搜寻专家 更新时间:2023-10-31 23:20:31 26 4
gpt4 key购买 nike

作为 w3m 的新用户,我正在尝试做一些基本的事情,例如:

w3m -dump_source nytimes.com > nytimes.html

产生的输出给出了疯狂的字符和符号。但是,当我使用 w3m nytimes 浏览时,它会正确加载,我什至可以使用 v 查看 HTML。

进一步尝试:

w3m -dump_extra nytimes.com > nytimes.html

除了 HTML 源代码之外,我完美地获得了与网站相关的所有额外信息。

如有任何帮助,我们将不胜感激。

最佳答案

默认情况下,w3m 通过发送以下 HTTP header 从服务器请求压缩输出:

Accept-Encoding: gzip, compress, bzip, bzip2, deflate

header 的值可能会因 w3m 的版本而异,但事实是最新版本的程序使用 compressed 从主机请求输出 Accept-Encoding header 。您可以使用以下命令找出确切的 header :

w3m -dump_source -reqlog nytimes.com > /dev/null

请求和响应 header 将记录到 ~/.w3m/request.log 文件中。

您可以通过覆盖 header 来请求未压缩版本,如下所示:

w3m -dump_source nytimes.com -o accept_encoding='identity;q=0'

甚至

w3m -dump_source nytimes.com -o accept_encoding='*;q=0'

或者,通过管道解压缩输出:

w3m -dump_source nytimes.com | gunzip -f

如果输入数据不是gunzip 可识别的格式,-f 选项会导致 gunzip 复制输入数据而不更改标准输出。根据文档,您还应该传递 --stdout 选项,但即使没有此选项,管道命令也应该将结果打印到标准输出。

请注意,服务器可能会响应以 bzip2 压缩的内容。在这种情况下,您可以通过 bunzip2 -f 命令通过管道输出。

关于html - 使用 w3m 转储 html 源代码会产生意想不到的字符/符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41787966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com