注意代理的格式
# -*- coding:utf-8 -*-
import sys
import urllib2
import os
def url_to_file(url='', pic_name='', proxy=None):
"""
使用代理下载图片
:param url: 图片网络原始URL地址,例:'https://img-blog.csdnimg.cn/20190605175950484.png'
:param pic_name: 图片名(xx.jpg),或者加上存储路径,例:D://xx.jpg
:param proxy: 使用的代理 {'https': '代理ip:端口号'}
:return:
"""
proxy_handler = urllib2.ProxyHandler(proxy)
opener = urllib2.build_opener(proxy_handler)
if url is None or pic_name is None:
return False
try:
if os.path.exists(pic_name):
return False
data = opener.open(url, timeout=5)
f = open(pic_name, 'wb')
f.write(data.read())
f.close()
except Exception as err:
print err
return False
else:
print "download success"
return True
if __name__ == "__main__":
url1 = 'https://img-blog.csdnimg.cn/20190605175950484.png'
url_to_file(url=url1,
pic_name='a1.jpg',
proxy={"https": "代理ip:端口号", 'http': "代理ip:端口号"})
(另外,看了一下requests.get方法,感觉更加简洁一些,参数也更清晰)