机器学习_利用python从网上自动下载数据

机器学习一个必要的前提条件就是获得大量数据,尤其对于我们刚开始接触机器学习的时候,网上提供了大量开源数据源,方便我们进行学习,但是这些数据源会随着时间变换,因此萌生一个自动下载数据的方法,刚好网上也有很多的方法,结合别的博客主的方法和自己的理解写了一个利用python自动获取数据的函数。


相关的库文件:os、tarfile、urllib

import os
import tarfile
import urllib
from urllib.request import urlretrieve
def download(url,savepath):
    """
    :param url: 下载路径
    :param savepath:保存路径
    :return:
    """
    filename=os.path.basename(url)
    filepath=os.path.join(savefile,filename)
    if not os.path.isdir(savefile):
        #如果不存在我们设置的保存文件夹,则自动生成一个
        os.makedirs(savefile)
        
        #下载文件
        urlretrieve(url,filepath)
        
        #打开我们的文件
        downfile=tarfile.open(filepath)
        
        #解压我们的文件
        downfile.extractall(savefile)
        
        #关闭读写操作
        downfile.close()
        print("download finished")
    else:
        print("file has existed")
if __name__ == '__main__':
    url="https://raw.githubusercontent.com/ageron/handson-ml/master/datasets/housing/housing.tgz"
    savefile="./chapter1/data"

 

当然也可以定义一个reporthook函数,能够方便的显示下载进度,这里用不到,所以没有写出来

你可能感兴趣的:(机器学习_利用python从网上自动下载数据)