How to retrieve data from a website?

106 views (last 30 days)
I would like to retrieve data from a webasite, and store them in a matrix of two columns (or in two vectors).
I tried this:
url = ('http://matroos/direct/get_series.php?loc=hoekvanholland&source=observed&unit=waterlevel&tstart=201908140000&tstop=201908150000');
data = urlread(url);
But the result is not..satisfying!
Is there a smarter function to use instead of urlread?
(I have attached a pic of the website)
Thanx!
matlabquestion.PNG

Accepted Answer

the cyclist
the cyclist on 14 Aug 2019
According to its documentation page, use of urlread is not recommended. It suggests using webread instead.
  3 Comments
Rik
Rik on 14 Aug 2019
Your downloaded result is just a text file. There are probably line endings encoded in there (char 10 and/or 13), but you'll have to do the parsing yourself.
Also, I haven't yet seen a situation with http where urlread couldn't manage. For https it is generally better to use webread, but even then urlread will do fine. For situations like str2num I can understand why the use is discouraged, but for urlread and histc I can't really find the reason.
the cyclist
the cyclist on 14 Aug 2019
You might want to read the webread options section. The default is 'auto", which will try to determine the output type set by the server's API. I guess you could try one of the other options, if you know how the output is intended to be formatted (e.g. JSON).
It's probably just that the site returns plain text. In that case, you'll need to parse it yourself. There is an example of that here.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!