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

2019-12-10 17:46:05 浏览数 (1)

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

代码语言:javascript复制
>>> import requests
>>> r=requests.get('http://pythontab.com/justTest')
>>> r.text

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

代码语言:javascript复制
>>> r.encoding
'utf-8'

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

代码语言:javascript复制
>>> r.encoding = 'ISO-8859-1'

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

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

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

0 人点赞