本文实例讲述了Python实现使用request模块下载图片。分享给大家供大家参考,具体如下:
利用流传输下载图片
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# -*- 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程序设计有所帮助。
原文链接:https://blog.csdn.net/u013205877/article/details/69371413