How to retrieve data from a website?

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

Thank you for your reply.However, even using webread, raises the same results. A 1x2369 char value.
Actually, I am looking for a way to omit the first 11 rows and then starting storing the data in two vectors. The one for the dates and the other for the water level values
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.
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)

Asked:

on 14 Aug 2019

Commented:

on 14 Aug 2019

Community Treasure Hunt

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

Start Hunting!