Ho lavorato a partire dal codice originale pubblicato allo Matlab login and download failure when calling WebClient.DownloadFile per provare a scaricare i dati dei trend di Google in un CSV direttamente da MATLAB.matlab download google trends csv
Ho anche letto nel post di Emanuele a login with curl and get session che la politica di autenticazione di Google è cambiato, e ora il mio codice è simile al seguente:
NET.addAssembly('System.Net');
url = strcat(['https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email=' USERNAME '&Passwd=' PASSWORD '&service=trendspro&source=test-test-v1']);
durl = System.String(strcat('http://www.google.com/trends/viz?q=', keyWord, '&date=all&geo=all&graph=all_csv&sort=0&scale=1&sa=N'))
if exist('googleWebClient','var')
client = googleWebClient;
else
client = System.Net.WebClient;
response = client.DownloadString(url);
sid = char(response.ToString);
sid = regexp(sid, '\n', 'split');
client.Headers.Add('Cookies', char(sid(1)));
client.Headers.Add('Authorization', strcat( 'GoogleLogin ' , char(sid(3)) ) );
end
client.DownloadString(durl)
che restituisce unforgivingly:
ans =
<div id="report">
<div class="timeBandTitle">An error has been detected</div>
<div class="timeBandSubTitle">You have reached your quota limit. Please try again later.</div>
</div>
Se qualcuno è in grado di accedi a google tendenze csv dati da matlab, sei il mio eroe