python requests下载图片_Python实现使用request模块下载图片demo示例

本文介绍如何使用Python的requests模块来下载网络上的图片,并提供了两种不同的实现方式,包括基本的流传输下载方法及改进版。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文实例讲述了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=https%3A%2F%2Fsiteproxy.ruqli.workers.dev%3A443%2Fhttp%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=https%3A%2F%2Fsiteproxy.ruqli.workers.dev%3A443%2Fhttp%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文件):

2019524115420795.png?2019424115431

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值