找回密码
 注册
关于网站域名变更的通知
查看: 622|回复: 1
打印 上一主题 下一主题

利用Matlab进行批量下载网络数据

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-21 10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
matlab读取网络数据的能力和python相比太弱了,python有很多开源工具包,功能非常强大。其实以前批量下载数据都是用python语言写的,但是现在因为工作需要每天都要用matlab,所以尝试用matlab写个小程序批量下载网络数据。要下载的数据网址是:
  I& C8 r; y) t2 L: O  l3 H, M- ]5 k) k* i* i- s9 p1 F
http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/godas/catalog.html
9 y1 D& P5 v; y. E/ ^4 j
0 b$ r+ Z3 S8 N: n  l要下载的数据如下:pottmp.1980.nc到pottmp.2016.nc,共37个nc文件- O7 `. w( |$ U

+ j/ U* O0 r5 E5 b' Q) K程序如下,核心函数是urlwrite0 v6 R6 d5 N7 a' @

. b4 }, n5 C/ q) r9 ]filepath='D:用户目录Desktoppottmp';. q$ W& m9 K+ L
mkdir(filepath); %在桌面创建文件夹pottmp$ ^" B7 a$ k4 `: M% G
0 U; L: m, s4 J
for i=1980:2016& t  ?5 p( U) p& t
fullURL=['http://www.esrl.noaa.gov/psd/thredds/fileServer/Datasets/godas/pottmp.',num2str(i),'.nc'];%下载网址( w' ~8 R1 [& Y! i2 t1 @
filename=[filepath,'pottmp.',num2str(i),'.nc']; %保存的文件名/ l( ^( q! N  a$ ^- v- |% p
tic;
6 E- e9 P/ E* G) |[f,status]=urlwrite(fullURL,filename);%下载命令
8 t, S# j- |- cif status==1
7 m" Z$ `: l: F; x/ G    t=toc;
$ C" ~: _1 s, D: ]6 ?1 {# t3 @4 t7 @    lst=dir(filename);8 ?$ P' z7 d. Z2 n
    xi=lst.bytes;
5 H8 {! W: g5 S6 v) F. w% e! K    disp(['pottmp.',num2str(i),'.nc','下载成功','文件大小为',num2str(xi/1024/1024),'M','  花费',num2str(t/60),'分钟']);
7 E' c, r) O$ }2 m% F/ g4 G  Ielse( @, A8 K! C* C8 C( c: {# g
    disp(['pottmp.',num2str(i),'.nc','下载失败']);# J& f# R9 k0 q/ c6 f4 |
end, G& {) t" `9 \, a) J
end
( ^) s* E7 j' S% J! H; `
' k0 j; n/ F  |* v, G0 ]. P0 U

该用户从未签到

2#
发表于 2020-1-21 17:51 | 只看该作者
利用Matlab进行批量下载网络数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-19 23:46 , Processed in 0.109375 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表