2012-02-23 7 views
1

私は、Google Trendsにログインしてcsvデータをダウンロードするためにmatlabを利用することができました。まず、DownloadStringを使用して、fastawriteを使用してcsvファイルを保存する前に、そのファイルをmatlab文字列に変換しました。WebClient.DownloadFileを呼び出すとMatlabのログインとダウンロードに失敗する

しかし、文字列が正しくダウンロードされているにもかかわらず、 '\ n'行は書式設定の一部を失っていました...私はファイルを '\ n'でセル配列に分割すると書式設定が正常です!

だから私は今、DownloadFileメソッドが動作するように取得しようとしないんだけど、私は次のエラーを取得しておいてください。

ませ方法「をDownloadFile」クラス「System.Net.WebClient」

見つかりマッチング署名で

多くのおかげで、

がここに機能だ:

NET.addAssembly('System.Net'); 

url = 'https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email=email&Passwd=pass&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'); sid = sid(1,1); 

    client.Headers.Add('Cookie', char(sid)); 
    assignin('base','googleWebClient',client); 
end 

saveFilePath = System.String(strcat('C:\Dropbox\PROJECTS\', keyWord, '.csv')); 


data = client.DownloadFile(durl, saveFilePath); 

答えて

0

フォーマットのどのような種類が失われていますか? Unixモード(\ n)のテキストを取得してDOSモード(\ r \ n)エディタで開いているような感じです。素早くregexprep(sid, '\r?\n', sprintf('\r\n'))で修正されます。おそらくDownloadFileに切り替えることはできません。

「このようなメソッドはありません」というエラーが表示される限り、WebClient.DownloadFileにはvoid戻り値の型があります。 Matlabの.NETサポートはその署名の一部を考慮しているようです。 "data ="割り当てを削除すると、それが実行されます。

>> client = System.Net.WebClient; 
>> x = client.DownloadFile('http://www.cnn.com', 'C:\temp\blah.html') 
No method 'DownloadFile' with matching signature found for class 'System.Net.WebClient'. 

>> client.DownloadFile('http://www.cnn.com', 'C:\temp\blah.html') 
>> 
+0

ありがとうございます!私は壁に向かって私の頭を禁止しています....私はデータを削除し、それはそのままCSVファイルをダウンロードしています。 System.Stringからmatlab charに変換してからfastawriteを使って保存すると、何とかフォーマットにダメージを与えていたようです。 – user1229124

+0

申し訳ありませんが、regexprep(sid)のフォーマットは問題ありません。DownloadFileではなくDownloadStringを使用していました。何らかの理由でcsvファイルにフォーマットエラーが発生しました... – user1229124

関連する問題