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创建XML文档
Mar 01 Python
如何搜索查找并解决Django相关的问题
Jun 30 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
python版本的仿windows计划任务工具
Apr 30 Python
Python多进程池 multiprocessing Pool用法示例
Sep 07 Python
django settings.py 配置文件及介绍
Jul 15 Python
Python shutil模块用法实例分析
Oct 02 Python
python 变量初始化空列表的例子
Nov 28 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 Python
Python装饰器结合递归原理解析
Jul 02 Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 Python
Python Pandas数据分析工具用法实例
Nov 05 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
PHP的分页功能
2007/03/21 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
javascript数组排序汇总
2015/07/07 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
2017/01/04 Javascript
loading动画特效小结
2017/01/22 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
2019/05/20 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
python下MySQLdb用法实例分析
2015/06/08 Python
python实现控制台打印的方法
2019/01/12 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
车间统计员岗位职责
2014/01/05 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
创业培训计划书
2014/05/03 职场文书
2014年国庆节广播稿
2014/09/19 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
车间主任岗位职责
2015/02/03 职场文书
父亲节感言
2015/08/03 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
详解Python自动化之文件自动化处理
2021/06/21 Python