我正在尝试下载www.oabt.org上的网页。使用浏览器,它可以获得所有的HTML代码,但是使用wget我只得到3个字节的页面。
➜ spider git:(master) wget http://www.oabt.org/
--2013-02-06 01:45:11-- http://www.oabt.org/
Resolving www.oabt.org... 125.64.93.243
Connecting to www.oabt.org|125.64.93.243|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3 [text/html]
Saving to: ‘index.html’
100%[===============================================================================>] 3 --.-K/s in 0s
2013-02-06 01:45:12 (117 KB/s) - ‘index.html’ saved [3/3]
➜ spider git:(master) ✗ xxd -l 100 ./index.html
0000000: efbb bf
如何正确获取此网站的主页?
答案 0 :(得分:1)
我使用wireshark
转储了http连接,我在wget
发送的标头和browser
发送的标头之间做了差异。我尝试使用wget的--header
参数复制相同的http请求,直到我发现网站需要Accept-Encoding: gzip
标题才能正确回复。
简而言之,工作命令变为:
wget --header='Accept-Encoding: gzip' http://www.oabt.org/index.php
但这会保存gzipped
内容......
如果要动态解压缩页面,请使用以下命令:
wget -O- --header='Accept-Encoding: gzip' \
http://www.oabt.org/index.php | gunzip - > index.html
...并且gzip压缩内容将被解压缩并重定向到index.html
文件