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

来源:互联网 发布:人工智能 伏羲觉醒 编辑:程序博客网 时间:2024/05/01 05:28

python2 代码及说明如下:

import jsonimport osimport urllib2def 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 okhttps://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 jsonimport osimport urllibdef 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.JPEGin get_pic_code: 200load okhttps://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3003187938,2094224785&fm=173&s=A69454CE5EB7B25D1C5D8D0F030070C3&w=640&h=566&img.JPEGin get_pic_code: 200load ok