您可以使用wgetHTTP Cookie时下载内容.我将使用StackOverflow.com作为示例目标.以下是要遵循的步骤:
1)获取wget命令工具.对于Mac或Linux,我认为它已经可用.在Windows上,您可以从GnuWin32项目或许多其他端口(Cygwin,MinGW/MSYS等)中获取它.
2)接下来,我们需要通过登录相关网站来获取经过身份验证的cookie.您可以使用首选浏览器.
在Internet Explorer中,您可以使用" 文件菜单>导入和导出>导出Cookie " 来生成它.在Firefox中,我使用Cookie Exporter扩展将Cookie导出到文本文件.对于Chrome,应该有类似的扩展名
显然你只需要做一次这个步骤,只要cookie还没有过期!
3)一旦找到导出的cookie文件,我们就可以使用wget来获取网页并为其提供此cookie.这当然可以使用SYSTEM函数从MATLAB内部执行:
%# fetch page and save it to disk
url = 'http://stackoverflow.com/';
cmd = ['wget --cookies=on --load-cookies=./cookies.txt ' url];
system(cmd, '-echo');
%# process page: I am simply viewing it using embedded browser
web( ['file:///' strrep(fullfile(pwd,'index.html'),'\','/')] )
Run Code Online (Sandbox Code Playgroud)
解析网页是我不会涉及的另一个主题.获得所需数据后,可以使用XLSREAD和XLSWRITE函数与Excel电子表格进行交互.
4)最后,您可以在函数中编写它,并使用TIMER函数定期执行它