windows使用python调用wget批处理下载数据

wget是linux/unix下通常使用的下载http/ftp的数据,使用非常方便,其实wget目前经过编译,也可在windows下使用。最近需要下载大量的遥感数据,使用了python写了批处理下载程序,使用的是urllib的urlretrieve进行下载,数据下载还可以,但是界面交互性不好看。就根据自己在linux下载数据进行了改进。

1. wget在windows下的安装:

从网站下载wget for windows工具(http://gnuwin32.sourceforge.net/packages/wget.htm),解压后将wget.exe拷贝至system32下,然后从cmd中键入wget,安装成功提示如下:

2. python批处理脚本下载

下载的大量遥感水色数据来自于NASA OBPG网站(http://oceandata.sci.gsfc.nasa.gov),根据Order之后的数据列表,保存至txt,之后构建下载网址及字符串;而后使用suprocess.call进行下载。

代码如下:

#http://oceandata.sci.gsfc.nasa.gov/cgi/getfile/A2005067190000.L0_LAC.bz2

#!/usr/bin/env python
#coding:utf-8
import os
import os.path
import subprocess

def retrieving_obpg(filelist,outpath):
    ‘‘‘Download data‘‘‘
    f = open(filelist,‘r‘)
    log= open(os.path.splitext(filelist)[0]+‘_log.txt‘,‘w‘)
    os.chdir(outpath)
    print(os.curdir)
    for i in f:
        try:
            each_item = str(i.strip())
            cmd = ‘wget http://oceandata.sci.gsfc.nasa.gov/cgi/getfile/‘+each_item
            print(cmd)
            if not os.path.exists(outpath+each_item):
                status = subprocess.call(cmd)
                if status !=0:
                    log.write(‘\nFailed:‘+each_item)
                    continue
                log.write(‘\nSuccess:‘+each_item)
            log.flush()
        except:
            log.write(‘\nFailed:‘+each_item)
            continue
    f.close()
    log.close()

if __name__  ==‘__main__‘:
        import glob
        outpath = ‘F:\\卫星数据\\MODIS\\‘
        for filelist in glob.glob(r‘F:\卫星数据\MODIS\filelists\*m2s.txt‘):
            retrieving_obpg(filelist,outpath)
        print(‘END‘)
时间: 2024-12-26 03:51:54

windows使用python调用wget批处理下载数据的相关文章

使用python调用mysql模块插入数据

安装MySQLdb python模块 [[email protected] history]# yum install -y MySQL-python 写一个python脚本关联mysql: [[email protected] day2]# cat mysql2.py  #!/bin/usr/python import MySQLdb as mysql con = mysql.connect(user="root",passwd="redhat",        

python学习:Windows 下 Python easy_install 的安装

Windows 下 Python easy_install 的安装 下载安装python安装工具下载地址:http://pypi.python.org/pypi/setuptools 可以找到正确的版本进行下载.win7 32位可以下载setuptools-0.6c11.win32-py2.7.exe .注意:win7 64位必须使用ez_setup.py进行安装.方法是下载ez_setup.py后,在cmd下执行 python ez_setup.py,即可自动安装setuptools.目前没有

51CTO下载-python调用java.docx

链接: http://blog.csdn.net/jobjava/article/details/7280798 python调用Java: JPype使用介绍 Python 作为一种灵活的软件开发语言在当今被广泛使用.在软件开发过程中,有时需要在 Python 项目中利用既有的 Java 代码,已达到节省时间和开发成本的目的.因此,找到一个 Python 代码调用 Java 代码的桥梁是非常有意义的. JPype 就是这样的一个工具,利用它可以使 Python 程序方便的调用 Java 代码,

多线程爬虫Java调用wget下载文件,独立线程读取输出缓冲区

写了个抓取appstore的,要抓取大量的app,本来是用httpclient,但是效果不理想,于是直接调用wget下载,但是由于标准输出.错误输出的原因会导致卡住,另外wget也会莫名的卡住. 所以我采用: 一.独立线程读取输出信息: 二.自己实现doWaitFor方法来代替api提供的waitFor()方法,避免子进程卡死. 三.设置超时,杀死wget子进程,没有正确返回的话,重试一次,并把超时时间加倍: 有了以上操作,wget不会卡死,就算卡住了也会因为超时被干掉再重试一次,所以绝大部分的

使用python调用flickrAPI获取数据

由于写论文需要数据,而网络上所能下载到的flickr数据集不符合要求.所以决定自己下载,也可以供实验室其他人使用.Flickr提供了一套API方便企业或者个人用户访问经过用户授权的数据.而单纯下载数据不需要使用OAuth,十分方便. 当然是在没有国家防火墙的情况下十分方便. Flickr是在国家防火墙黑名单上的网站,所以程序调用API的请求也会被阻挡.在执行程序时,需要开启VPN全局代理.我就不详细说了,VPN真是个好东西. 说正题,Flickr提供的API,可以通过各种方法查找照片.如根据用户

重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件

原文:重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 [源码下载] 作者:webabcd 介绍重新想象 Windows 8.1 Store Apps 之通信的新特性 下载数据(显示下载进度,将下载数据保存到本地) 上传数据(显示上传进度) 上传文件 示例HTTP 服务端WebServer/HttpDemo.aspx.cs /* * 用于响应 http 请求 */ using System; using System.IO;

使用python调用windows azure 云存储服务

前几天自己看了python,心痒痒,然后使用python来调用Windows azure云存储. 参考文章: 使用python调用windows azure 云存储服务 安装python 我在按照文章内容安装完python sdk for azure后,直接通过python编辑器调试. 在导入azure包时,未报错. from azure.storage import * 在执行BlobService对象时,未报错. blob_service = BlobService(account_name

java调用Linux执行Python爬虫,并将数据存储到elasticsearch--(环境脚本搭建)

java调用Linux执行Python爬虫,并将数据存储到elasticsearch中 一.以下博客代码使用的开发工具及环境如下: 1.idea: 2.jdk:1.8 3.elasticsearch:5.2.0 4.Linux 5.Python 6.maven 二.maven坐标: <!--java连接ulinix脚本架包--> <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>

Windows中使用 Python 调用 Matlab 程序

环境变量: 1 Python-Matlab引擎 / Pyhton-Matlab Engine 首先,需要确保Matlab及Python的配置和安装,利用Matlab提供的setup.py文件安装Python的引擎包,安装步骤及过程如下, 1. 确保安装可用的Python和Matlab,且两者版本对应,如32位的Matlab需对应32位的Python,同时还需查看Matlab支持的Python版本(目前2016a版支持的Python版本为2.7/…/3.5); 2. 添加Python目录到环境变量