有使用Python的urllib3或requests解码gzipped附件的示例吗?
我只需要一个例子...
我有用urllib3和requests这两个库写的代码,可以下载一个带有gzipped文件(XML格式)的网页。
但是我不知道怎么用这两个库获取这个附件;我得到的只是HTML页面,而不是附加的数据。
有没有人能给我一个用这两个库的例子?如果有其他方法也可以,只要它能使用连接池,我也愿意尝试。
谢谢任何例子!
2 个回答
0
明白了……这是我自己的愚蠢错误。
我忽略了一个额外的参数,这个参数藏在了原有的代码里,而这些代码是和PyCurl一起工作的。
直接给出 "https://the.url.I.needed" 会返回一个包含gzipped附件的HTML页面,
而加上参数后:
"https://the.url.I.needed?the_param" 就能得到我期待的XML格式。
抱歉浪费了你的时间;requests看起来真是个好东西,我现在开始尝试连接池来加快我的处理速度。
1
也许你可以试试这样做:
>>> import urllib3
>>> from StringIO import StringIO
>>> import gzip
>>>
>>> http = urllib3.PoolManager()
>>> response = http.request('GET', 'http://www.healthgrades.com/acupuncture-provider-profile-1.xml.gz')
>>> print gzip.GzipFile(fileobj=StringIO(response.data)).read()
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.healthgrades.com/provider/chris-withey-3vvnb</loc>
<lastmod>2014-05-18T11:51:35.703Z</lastmod>
<priority>0.9</priority>
<changefreq>daily</changefreq>
</url>
<url>
<loc>http://www.healthgrades.com/provider/holly-tucker-3w9mm</loc>
<lastmod>2014-05-18T11:38:53.007Z</lastmod>
<priority>0.9</priority>
<changefreq>daily</changefreq>
</url>
[etc...]