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

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值