python从ftp下载数据保存实例

时间:2022-10-07 13:32:17 

《hadoop权威指南》的天气数据可以在ftp://ftp3.ncdc.noaa.gov/pub/data/noaa下载,在网上看到这个数据好开心,打开ftp发现个问题,呀呀,这么多文件啊,我一个个去点另存为,得点到啥时候啊,迅雷应该有批量下载,只是我没找到,估计是我浏览器把迅雷禁掉了,干脆自己用python写一个实现下载好了,网上早了一下,发现很简单啊


#!/usr/bin/python
#-*- coding: utf-8 -*-

from ftplib import FTP

def ftpconnect():
    ftp_server = 'ftp3.ncdc.noaa.gov'
    username = ''
    password = ''
    ftp=FTP()
    ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
    ftp.connect(ftp_server,21) #连接
    ftp.login(username,password) #登录,如果匿名登录则用空串代替即可
    return ftp

def downloadfile(): 
    ftp = ftpconnect()   
    #print ftp.getwelcome() #显示ftp服务器欢迎信息
    datapath = "/pub/data/noaa/"
    year=1911
    while year<=1930:
        path=datapath+str(year)
        li = ftp.nlst(path)
        for eachFile in li:
            localpaths = eachFile.split("/")
            localpath = localpaths[len(localpaths)-1]
            localpath='weatherdata/'+str(year)+'--'+localpath#把日期放在最前面,方便排序
            bufsize = 1024 #设置缓冲块大小     
            fp = open(localpath,'wb') #以写模式在本地打开文件
            ftp.retrbinary('RETR ' + eachFile,fp.write,bufsize) #接收服务器上文件并写入本地文件
        year=year+1
    ftp.set_debuglevel(0) #关闭调试
    fp.close()
    ftp.quit() #退出ftp服务器


if __name__=="__main__":
    downloadfile()

标签:ftp下载数据
0
投稿

猜你喜欢

  • 使用Python实现简单的服务器功能

    2021-06-29 09:25:31
  • PHP实现多文件上传的方法

    2023-11-23 03:42:04
  • php从文件夹随机读取文件的方法

    2023-11-21 16:38:35
  • python代码实现猜拳小游戏

    2023-10-16 19:00:46
  • Python使用内置函数setattr设置对象的属性值

    2021-10-09 20:32:44
  • CSS实例讲解:地图提示

    2007-05-11 17:04:00
  • 企业网站FLASH引导页存在的意义

    2008-06-04 11:09:00
  • python 动态迁移solr数据过程解析

    2023-03-08 10:19:20
  • Pandas实现Dataframe的重排和旋转

    2023-11-03 23:47:23
  • 以一段代码为实例快速入门Python2.7

    2021-04-24 05:00:06
  • jQuery实现同一点击,两个不同链接,指向两个不同的iframe

    2010-06-21 10:52:00
  • CSS 3入门

    2009-04-19 13:00:00
  • shell命令行,一键创建 python 模板文件脚本方法

    2023-08-03 18:33:26
  • MySQL配置文件my.cnf中文版

    2011-09-30 11:06:15
  • PDO::rollBack讲解

    2023-07-23 06:52:34
  • 王孟友教你如何设计标志(LOGO)

    2008-04-17 13:30:00
  • Python利用Turtle绘制Technoblade的示例代码

    2023-08-23 22:43:01
  • python 实现对文件夹中的图像连续重命名方法

    2022-11-04 02:04:08
  • python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)

    2021-05-13 17:40:35
  • 用Python制作检测Linux运行信息的工具的教程

    2022-03-01 17:49:15
  • asp之家 网络编程 m.aspxhome.com