本文实例讲述了Python实现使用request模块下载图片。分享给大家供大家参考,具体如下:
利用流传输下载图片
# -*- coding: utf-8 -*- import requests def download_image(): """ demo:下载图片 :return: """ headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"} url = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1491366667515&di=8dad3d86740af2c49d3d0461cfd81f63&imgtype=0&src=http%3A%2F%2Fhdn.xnimg.cn%2Fphotos%2Fhdn521%2F20120528%2F1615%2Fh_main_LBxi_2917000000451375.jpg" response = requests.get(url, headers=headers, stream=True) #print str(response.text).decode('ascii').encode('gbk') with open('demo.jpg', 'wb') as fd: for chunk in response.iter_content(128): fd.write(chunk) download_image() def download_image_improved(): """demo: 下载图片""" #伪造headers信息 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"} #限定URL url = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1491366667515&di=8dad3d86740af2c49d3d0461cfd81f63&imgtype=0&src=http%3A%2F%2Fhdn.xnimg.cn%2Fphotos%2Fhdn521%2F20120528%2F1615%2Fh_main_LBxi_2917000000451375.jpg" response = requests.get(url, headers=headers, stream=True) from contextlib import closing #用完流自动关掉 with closing(requests.get(url, headers=headers, stream=True)) as response: #打开文件 with open('demo1.jpg', 'wb') as fd: #每128写入一次 for chunk in response.iter_content(128): fd.write(chunk) download_image_improved()
运行结果(在当前目录下下载了一个demo.jpg文件):
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。