首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

会用w3m的同学们进去看看

2012-08-14 
会用w3m的同学们进来看看这里的w3m,不是指魔兽争霸的地图, 而是命令行版的网页浏览器( a text based Web b

会用w3m的同学们进来看看
这里的w3m,不是指魔兽争霸的地图, 而是命令行版的网页浏览器( a text based Web browser and pager)。
我疑惑的是: 用w3m时, 如: w3m www.baidu.com, 然后按V, 就可以看到这个网页的源码, 而且不乱码, 我想自动的(写个脚本)转储这些源码, 于是就想到了用w3m的命令行参数, man w3m之后, 发现有一个-dump_source的选项, 于是, w3m -dump_source www.baidu.com > baidu_src.txt, cat baidu_src.txt | less 之后发现乱码, 这是肿么了, 哪位好心的大神能帮忙解决下,谢谢。

[解决办法]
因为html页面里的meta或者http header里会打Content-Type指定charset=编码,浏览器会做转换。

你自己down页面下来,首先从http response的header里找Content-Type判断charset,如果没有就去html页面里找charset,然后从charset iconv转换到你的终端编码以便不乱码的显示。
[解决办法]
额, 这样:

cat baidu_src.txt | grep charset=

看看charset=什么,然后如果你是linux环境,那么iconv -f charset -t utf8。

还需要设置export LANG=en_US.utf8,使用支持中文的ssh终端访问linux或者在gtk等桌面环境下打开终端观看结果也可以。

热点排行