matlab的工具箱中提供了bloomberg和yahoo等資料介面,用於提取上市公司的**資料,其實這些介面都是通過http協議通訊的,並且yahoo的介面是直接從yahoo門戶**提取的,只是需要在matlab端對htm進行解析。其核心主要是使用了matlabd的urlread函式,那麼通過該函式我們也可以從網路獲取各種資料。
當前很多**特別是社交**都提供了api,供第三方開發,並且資料格式一般都支援xml和json兩種,因此如果在matlab下面提取這樣的資料的話,就需要對xml和json進行解析,這裡有乙個json的解析庫:下面我們編寫乙個簡單的fetch函式,來從乙個url中獲取資料,該資料的格式為json。
function output = fetch(url, varargin)
if nargin < 2
% to do sth.
return;
endpattern = varargin;
if ~ischar(pattern)
error('***x:invalidparameter', 'the parameter pattern must be str.');
end[json, status] = urlread(url, 'get', );
if status == 1
tryoutput = parse_json(json);
catch exception
error('***x:invalidjson', 'request succussfuly! but the result is not valid json string.');
endelse
error(['cant connect the site "' url ...
'", or connect timeout. if you connect internet with proxy, you should set the proxy server manually, see alse ']);
end
主要**就是:
[json, status] = urlread(url, 'get', );
urlencode是對url中的非ascii嗎字元進行編碼。json為返回的json資料,status表示請求的結果狀態,當status為1時表示獲取資料成功,然後通過:
output = parse_json(json);
來將json格式轉換成matlab的資料型別。 Matlab讀取伺服器資料
matlab的工具箱中提供了bloomberg和yahoo等資料介面,用於提取上市公司的 資料,其實這些介面都是通過http協議通訊的,並且yahoo的介面是直接從yahoo門戶 提取的,只是需要在matlab端對htm進行解析。其核心主要是使用了matlabd的urlread函式,那麼通過該函式我...
Java Socket 讀取伺服器端返回資料
客戶端 1 建立客戶端socket,指定伺服器位址和埠 socket socket newsocket localhost 10086 2 獲取輸出流,向伺服器端傳送資訊 outputstream os socket.getoutputstream 位元組輸出流 printwriter pw new...
jsonp從伺服器讀取資料並且予以顯示
之前看了許多的關於jsonp的文章,大多是講的比較的模糊的,下面是我的個人的理解!基於這樣的一段 做下解釋 這是在jsonp中讀取資料的時候 取出來當然是json的格式json格式不清楚的,可以訪問我的json和jsonp的文章 利用迴圈進行資料的讀取。先定義變數html,然後迴圈取出!其實核心就是...