这里不得不吐槽下我们国家的一些机构了。花着纳税人钱,买设备、搞监测、上项目,做的一些东西烂的不能用;获得的数据美其名曰共享,却搞三六九等,整什么一般会员、注册会员、核心人员,忍不住想问下这数据涉密吗,不看看老外都是免费提供的,一个个的害不害臊。吐槽完了,入正题。提前说下博主这里的账号是搞得核心账号,不然无法下载那些数据。
由于项目需要,需要下载站点的降雨量和蒸散发数据,但是这网站做的又特别不人道,超过50M数据量无法直接下载,需要定制,定制后说提供ftp下载,尼玛打开定制记录,一条条记录在哪摆着,说好的ftp呢,一个个下这还不得点死。还好借用wget可以较容易实现批量下载,但这期间也遇到了不少问题,刚下没几条,就提示“当前下载用户过多,请稍后下载”,那就等吧,尼玛劳资凌晨起来下数据,还给提示这个,这是做的什么破玩意,还让不让下数据了,一气之下就用账号留了言,然后发了伊妹儿,果然第二天就可以稳当下数据了。。这些有数据的真个个把自己当大爷了还。唉,世道如此啊。下面我们一步步来看如何实现数据的批量下载。
(1)登陆后点击定制记录可以看到摆着的一条条数据文件名,如下图所示。
(2)点击F12查看网页源码,如下图所示,可以看到每一条数据的下载地址和数据文件名;把整个网页的源码复制粘贴到一个新建的txt文本文件中,只需写一个简单的文本处理工具就可以把数据下载地址和文件名提取出来,这里已经写好,会和wget一起打包共享给大家。
(3)提取数据下载地址和数据文件名。这里的下载地址在源码的基础上添加了http://cdc.cma.gov.cn;提取的下载文件具体格式为:<下载地址><空格><文件名>,将文件保存在批量下载工具根目录即可,文件名为cma_src.txt,如下图所示
(4)使用wget批量下载数据
新建一个wget.bat文件,输入以下代码:
@echo off
.\wget-1.11.4-1-bin\bin\wget --post-data="userid=your_user_id&password=your_password" --save-cookies=cookie_wget --keep-session-cookies "http://cdc.cma.gov.cn/login.do"
for /F "tokens=1*" %%i in (cma_src.txt) do (
.\wget-1.11.4-1-bin\bin\wget --load-cookies=cookie_wget -c %%i -O .\data\%%j
)
需要修改的是用户名和密码,然后点击双击运行即可实现数据的批量下载。
最后附上工具下载地址:http://download.csdn.net/detail/liushuo_whu/8415929。