从网站获取数据

gev*_*321 6 cookies matlab

因此,网站不断更改其显示的数据,我希望每隔几秒钟获取一次数据并将其记录在电子表格中.问题是为了进入页面,我必须有一个我登录时获得的cookie.不幸的是我只知道如何在MATLAB中编程.MATLAB有一个函数,urlread,但它不处理cookie.我该怎么做到达那个页面?谁能帮我这个?让我指出一个方向,像我这样的编程noob可以成功.

Amr*_*mro 5

您可以使用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)

解析网页是我不会涉及的另一个主题.获得所需数据后,可以使用XLSREADXLSWRITE函数与Excel电子表格进行交互.

4)最后,您可以在函数中编写它,并使用TIMER函数定期执行它