http://[your_path]/api/v1/controller/action
我正在使用python3.4.3 Mac osx 10.10.4
这是我的代码。当我尝试第一个网站时,我可以得到这样的正确的东西:
v1

但是当我尝试第二个网站时,我只能得到这个:
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTMLFile($url);
$xpath = new DOMXpath($doc);
$name = $xpath->query('//td[@data-column-name="Model"]')->item(0)->nodeValue;

我怎么能得到正确的东西?
答案 0 :(得分:1)
您可以使用gzip解压缩gzip压缩数据并解码为utf-8:
import gzip
m = urllib.request.urlopen(url,).read()
data = gzip.decompress(m).decode("utf-8")
with open('/Users/HYN/Desktop/url.txt','w') as f:
f.write(data)
或者使用requests为您完成:
import requests
r = requests.get(url)
data = r.content.decode("utf-8")
如果您print(r.headers)
,您可以看到'content-encoding': 'gzip'
验证数据是否已被gzip压缩,则两个网站字符集都为utf-8
,差异是一个是gzip而另一个不是。