您的位置:首页 > 编程语言 > Python开发

python2 和 python3 下载网上图片的简单实现和对比

2017-12-19 10:48 633 查看
python2 代码及说明如下:

import json
import os
import urllib2

def get_pic(pic_dir, pic_path, index):
'''

:param pic_dir: 保存图片的文件夹
:param pic_path:  图片的url
:param index:  图片的序号,用序号命名就不会重复了
'''
print(pic_path)
response = urllib2.urlopen(pic_path)  # 打开这个链接
print('in get_pic_code:', response.code)  # 显示状态码
binary_pic = urllib2.urlopen(pic_path).read()  # 读为二进制文件
pic_file = open(os.path.join(pic_dir, str(index)+'.jpg'), 'wb')  # 创建一个.jpg文件
pic_file.write(binary_pic)  # 写入图片
pic_file.close()
print("load ok")


结果如下:

https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2571572208,3744466204&fm=173&s=FFAD94447A1B004D66BEE9900300D09B&w=550&h=309&img.JPEG
('in get_pic_code:', 200)
load ok https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3003187938,2094224785&fm=173&s=A69454CE5EB7B25D1C5D8D0F030070C3&w=640&h=566&img.JPEG ('in get_pic_code:', 200)
load ok


python3 使用urllib进行网页下载,代码如下:

import json
import os
import urllib

def get_pic(pic_dir, pic_path, index):
'''

:param pic_dir: 保存图片的文件夹
:param pic_path:  图片的url
:param index:  图片的序号,用序号命名就不会重复了
'''
print(pic_path)
response = urllib.request.urlopen(pic_path)  # 打开这个链接
print('in get_pic_code:', response.code)  # 显示状态码
urllib.request.urlretrieve(pic_path, os.path.join(pic_dir, str(index)+'.jpg'))  # 保存图片
print("load ok")


python3 结果如下:

https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2571572208,3744466204&fm=173&s=FFAD94447A1B004D66BEE9900300D09B&w=550&h=309&img.JPEG
in get_pic_code: 200
load ok https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3003187938,2094224785&fm=173&s=A69454CE5EB7B25D1C5D8D0F030070C3&w=640&h=566&img.JPEG in get_pic_code: 200
load ok
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python