背景
工作环境不能访问外网,python环境依赖很多包,手工下载比较慢,因此通过设置代理,批量下载包。
代码
# -*- coding: UTF-8 -*-
from urllib import request
import os
import urllib
if __name__ == "__main__":
savePath = '******' # 下载文件存储的路径
# 访问网址
# url = 'http://www.whatismyip.com.tw/'
# url='https://mirrors.tuna.tsinghua.edu.cn' # 可以正常访问
# url='https://pypi.tuna.tsinghua.edu.cn/simple/'
#url ='https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/'
url = 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/linux-64//paddlepaddle-2.1.0-py39_cpu_many_linux.tar.bz2'
# 这是代理IP
ip = '*.*.*.*:port' # 代理ip和端口
# 设置代理ip访问方式,http和https
proxy = {'http': ip, 'https': ip}
# 创建ProxyHandler
proxy_support = request.ProxyHandler(proxy)
# 创建Opener
opener = request.build_opener(proxy_support)
# 添加User Angent
opener.addheaders = [('User-Agent',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0')]
# 安装OPener
request.install_opener(opener)
# 使用自己安装好的Opener
response = request.urlopen(url)
# 读取相应信息并解码
# html = response.read().decode("utf-8")
saveFile = open(savePath + 'paddlepaddle-2.1.0-py39_cpu_many_linux.tar.bz2', 'wb')
saveFile.write(response.read())
saveFile.close()
# html = response.read()
# print(os.getcwd())
# 打印信息
#print(html)
response.close()