Extract data from a web page

17 views (last 30 days)
Dimitrios Poulos
Dimitrios Poulos on 23 Oct 2021
Commented: Image Analyst on 24 Oct 2021
I want to extract a specific number from a web page. To be more accurate the number 74. It is the cloud coverage from Windy page. This information exist in the following image at the tab elements but my code is extracting more ....general information(attachment). How I could extract this specific info from tab ''elements'' in chrome browser?
In the attachment there is my result from the following code but 74 does not exist. :-(
url = char(strcat({'https://www.windy.com/?clouds,2021-10-27-11,'},{MitraN},{','},{MitraE},{',8,d:picker'}));
options = weboptions('CertificateFilename','');
A1 = webread(url,options)

Answers (1)

Image Analyst
Image Analyst on 23 Oct 2021
Try turning that imcomprehensible mess of XML into an organized structure with the attached function:
url = char(strcat({'https://www.windy.com/?clouds,2021-10-27-11,'},{MitraN},{','},{MitraE},{',8,d:picker'}));
options = weboptions('CertificateFilename','');
A1 = webread(url,options)
s = xml2struct(A1)
  2 Comments
Image Analyst
Image Analyst on 24 Oct 2021
We can't run your code because you did not define MitraN and MitraE. Tell us what those should be. Give us code that can run!
Image Analyst
Image Analyst on 24 Oct 2021
Why do you think "74" should exist in the returned string?
When you right click on the page and say View Source do you see a 74?
url = char('https://www.windy.com/?clouds,2021-10-27-11,23.1283199987984,-16.0439653616218,8,d:picker');
options = weboptions('CertificateFilename','');
A1 = webread(url,options)
index = strfind(A1, '74')
for k = 1 : 50 : length(A1)
k2 = min(length(A1), k+49);
fprintf('%s\n', A1(k:k2));
end

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!