Python之Requests模块使用详解 [写入流数据比如,图片,pdf文档]

下面我们来看下发送请求后如何获取返回信息。我们继续使用最上面的例子:

>>> import requests
>>> r=requests.get("http://pythontab.com/justTest")
>>> r.text

r.text是以什么编码格式输出的呢?

>>> r.encoding
"utf-8"

原来是以utf-8格式输出的。那如果我想改一下r.text的输出格式呢?

>>> r.encoding = "ISO-8859-1"

这样就把输出格式改为“ISO-8859-1”了。
还有一个输出语句,叫r.content,那么这个和r.text有什么区别呢?r.content返回的是字节流,如果我们请求一个图片地址并且要保存图片的话,就可以用到,这里举个代码片段如下:

def saveImage( imgUrl,imgName ="default.jpg" ):
    r = requests.get(imgUrl, stream=True)
    image = r.content
    destDir="D:"
    print("保存图片"+destDir+imgName+"
")
    try:
        with open(destDir+imgName ,"wb") as jpg:
            jpg.write(image)     
            return
    except IOError:
        print("IO Error")
        return
    finally:
        jpg.close

刚才介绍的r.text返回的是字符串