用 python 或者curl 抓取web数据时

  今天接到一个web的同事求助,他本来通过java抓取一个web页面的内容,但是发现抓取得都是些乱码,然后又尝试用 python的urllib来获取,依然是乱码,不过在浏览器访问却是正常的json格式数据。

 

  首先,我先用curl获取了下这个web,发现确实是一些不可见的字符,把它保存下来。

  再使用浏览器获取下这个web内容,对比下发现字节数是不一样的,说明不是编码显示的问题。

  这个时候我考虑可能是http协议参数的问题,于是使用wireshark捕获用浏览器的请求,用tcpdump捕获了curl的请求,通过对比http get请求参数发现,在curl访问的时候有一项Content-Encoding:gzip,推断难道是使用gzip压缩了?

  使用gzip命令把刚才通过curl命令获取的web数据解压下... 果然是这样...问题解决。

   对web不是很了解的我,觉得还挺有意思的...

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。