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

 更新时间:2019年05月24日 11:51:19   作者:TKtalk  
这篇文章主要介绍了Python实现使用request模块下载图片,结合完整实例形式分析了Python基于requests模块的流传输文件下载操作相关实现技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • python处理文本文件实现生成指定格式文件的方法

    python处理文本文件实现生成指定格式文件的方法

    这篇文章主要介绍了python处理文本文件实现生成指定格式文件的方法,有一定的实用价值,需要的朋友可以参考下
    2014-07-07
  • python回归分析逻辑斯蒂模型之多分类任务详解

    python回归分析逻辑斯蒂模型之多分类任务详解

    这篇文章主要为大家介绍了python回归分析逻辑斯蒂模型之多分类任务详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Matplotlib绘图基础之地图绘制详解

    Matplotlib绘图基础之地图绘制详解

    如果分析的数据与地域相关,那么,把分析结果结合地图一起展示的话,会让可视化的效果得到极大的提升,下面就来讲讲如何利用Matplotlib一步步通过地图来展示分析结果吧
    2023-08-08
  • Python数据分析之pandas读取数据

    Python数据分析之pandas读取数据

    Pandas读取的文件主要有CSV,TXT和JSON,今天就整理了这3种文件格式的读取和导出代码,文中有非常详细的代码示例及介绍,需要的朋友可以参考下
    2021-06-06
  • Python3.8中使用f-strings调试

    Python3.8中使用f-strings调试

    这篇文章主要介绍了Python3.8中使用f-strings调试的相关知识,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • python分布式系统Celery安装使用实例讲解

    python分布式系统Celery安装使用实例讲解

    这篇文章主要为大家介绍了python分布式系统Celery安装使用实例讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Flask框架实现debug模式下计算pin码

    Flask框架实现debug模式下计算pin码

    pin码也就是flask在开启debug模式下,进行代码调试模式的进入密码。本文为大家整理了Flask框架在debug模式下计算pin码的方法,需要的可以参考一下
    2023-02-02
  • python脚本实现xls(xlsx)转成csv

    python脚本实现xls(xlsx)转成csv

    这篇文章主要介绍了python脚本实现xls(xlsx)转成csv的相关资料,需要的朋友可以参考下
    2016-04-04
  • appium测试之APP元素定位及基本工具介绍

    appium测试之APP元素定位及基本工具介绍

    看了我文章了相信都了解了web端的元素定位了,没看的,既然进来了那么肯定多多少少知道些,本文主要来介绍APP的元素定位有哪些定位方式,我们又怎么去连接APP,然后通过工具去获取元素
    2021-09-09
  • Python二叉树的定义及常用遍历算法分析

    Python二叉树的定义及常用遍历算法分析

    这篇文章主要介绍了Python二叉树的定义及常用遍历算法,结合实例形式分析了基于Python的二叉树定义与先序、中序、后序、层序等遍历方法,需要的朋友可以参考下
    2017-11-11

最新评论