我只需要一个例子...
我有 urllib3 和请求下载带有附加 gzip 文件(XML)的页面的工作代码。
我看不到如何使用任何一个包获取此附件;我得到的只是 HTML 页面,而不是附加的数据。
任何人都有一个例子显示这两个包?如果它使用连接池,我也可以尝试其他方法,这就是我所追求的。
感谢您提供任何示例!
也许你可以做这样的事情:
>>> 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...]
明白了……我犯了一个愚蠢的错误。
我错过了隐藏在与 PyCurl 一起使用的现有代码中所需的额外参数。
给出“ https://the.url.I.needed ”会给出带有显示 gzip 附件的标头的 HTML,同时添加参数:
“ https://the.url.I.needed?the_param ” 给出了我期待的 XML。
很抱歉浪费您的时间;requests 看起来很棒,我现在正在尝试连接池以加快我的进程。