python从ftp下载数据保存实例


Posted in Python onNovember 20, 2013

《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()
Python 相关文章推荐
Python使用smtplib模块发送电子邮件的流程详解
Jun 27 Python
简单掌握Python的Collections模块中counter结构的用法
Jul 07 Python
Python算法应用实战之栈详解
Feb 04 Python
python+matplotlib绘制旋转椭圆实例代码
Jan 12 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 Python
利用pyinstaller将py文件打包为exe的方法
May 14 Python
Django 使用Ajax进行前后台交互的示例讲解
May 28 Python
pandas每次多Sheet写入文件的方法
Dec 10 Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 Python
pandas计数 value_counts()的使用
Jun 24 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
Jun 26 Python
python实现超市商品销售管理系统
Oct 25 Python
python正则表达式抓取成语网站
Nov 20 #Python
python爬取网站数据保存使用的方法
Nov 20 #Python
使用python搭建Django应用程序步骤及版本冲突问题解决
Nov 19 #Python
python解析json实例方法
Nov 19 #Python
python聊天程序实例代码分享
Nov 18 #Python
python实现系统状态监测和故障转移实例方法
Nov 18 #Python
python线程池的实现实例
Nov 18 #Python
You might like
杏林同学录(九)
2006/10/09 PHP
Javascript实例教程(19) 使用HoTMetal(3)
2006/12/23 Javascript
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
vue.js表格分页示例
2016/10/18 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
python遍历一个目录,输出所有的文件名的实例
2018/04/23 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
python mysql断开重连的实现方法
2019/07/26 Python
python实现静态服务器
2019/09/05 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
环境科学专业大学生自荐信格式
2013/09/21 职场文书
护理专业学生的求职信范文
2013/12/11 职场文书
蔬菜基地的创业计划书
2014/01/06 职场文书
社区中秋节活动方案
2014/01/29 职场文书
《日月潭》教学反思
2014/02/28 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
百年孤独读书笔记
2015/06/29 职场文书
你会写请假条吗?
2019/06/26 职场文书