Python实现使用request模块下载图片demo示例


Posted in Python onMay 24, 2019

本文实例讲述了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实现使用request模块下载图片demo示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python编写屏幕截图程序方法
Feb 18 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
浅谈Python的文件类型
May 30 Python
Python实现求两个csv文件交集的方法
Sep 06 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
Jun 11 Python
Python登录注册验证功能实现
Jun 18 Python
python sqlite的Row对象操作示例
Sep 11 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 Python
给Python学习者的文件读写指南(含基础与进阶)
Jan 29 Python
Django 后台带有字典的列表数据与页面js交互实例
Apr 03 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
通过实例解析python and和or使用方法
Nov 14 Python
Python实现操纵控制windows注册表的方法分析
May 24 #Python
Django框架会话技术实例分析【Cookie与Session】
May 24 #Python
Django框架中间件(Middleware)用法实例分析
May 24 #Python
python与字符编码问题
May 24 #Python
Python读取stdin方法实例
May 24 #Python
python实践项目之监控当前联网状态详情
May 23 #Python
了解不常见但是实用的Python技巧
May 23 #Python
You might like
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
带你了解PHP7 性能翻倍的关键
2015/11/19 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
一个简单的php路由类
2016/05/29 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
mailto的使用技巧分享
2012/12/21 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
javascript观察者模式实现自动刷新效果
2017/09/05 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
vue+element模态框中新增模态框和删除功能
2019/06/11 Javascript
vue-cli3单页构建大型项目方案
2020/04/07 Javascript
Python中__name__的使用实例
2015/04/14 Python
matplotlib 输出保存指定尺寸的图片方法
2018/05/24 Python
对python3新增的byte类型详解
2018/12/04 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
毕业自我鉴定书
2014/03/24 职场文书
小学数学课后反思
2014/04/23 职场文书
酒店员工培训方案
2014/06/02 职场文书
于丹讲座视频观后感
2015/06/15 职场文书