def retrieve_content(url, data=None):
"""
Retrieves page content from given URL
"""
try:
req = urllib2.Request("".join(url[i].replace(' ', "%20") if i > url.find('?') else url[i] for i in xrange(len(url))), data, {"User-agent": NAME, "Accept-encoding": "gzip, deflate"})
resp = urllib2.urlopen(req, timeout=TIMEOUT)
retval = resp.read()
encoding = resp.headers.get("Content-Encoding")
if encoding:
if encoding.lower() == "deflate":
data = StringIO.StringIO(zlib.decompress(retval, -15))
else:
data = gzip.GzipFile("", "rb", 9, StringIO.StringIO(retval))
retval = data.read()
except Exception, ex:
retval = ex.read() if hasattr(ex, "read") else getattr(ex, "msg", str())
return retval or ""
评论列表
文章目录