使用matlab做的简单网络爬虫-DataRetrieval.m
朋友需要做金融方面的分析,要求从网站上下载大量的数据,一个一个复制粘贴太费事。我写了一个简单的网络爬虫,主要用到正则表达式的东西,可以自动下载网站上的数据。代码如下,仅作交流使用,期望起到抛砖迎玉的效果,matlab其强大功能需要我们一起发觉。:D urlread获取的源文件貌似不支持中文字符,不知道怎么解决,求交流解决办法。
% 本程序用于获取网站中的表格
% written by longwen36
% all rights reserved
clc,clear;
warning off;
for year = 1991:1992 %年份
for jidu = 1:4
fprintf
[sourcefile, status] = urlread); %这里改一下 在网址的前面加上'http://' 无赖之举,含网址不让发帖,这是个BUG啊!!!
if ~status
error
end
expr1 = '\s \s*'; %获取日期
[datefile, date_tokens]= regexp;
date = cell);
for idx = 1:length
date{idx} = date_tokens{idx}{1};
end
expr2 = '<div align="center"></div>'; %获取数据
[datafile, data_tokens] = regexp;
data = zeros);
for idx = 1:length
data = str2double;
end
data = reshape/6 )'; %重排
filename = sprintf;
pathname = [pwd '\data'];
if ~exist
mkdir;
end
fullfilepath = [pwd '\data\' filename];
% 保存数据到Excel
sheet = sprintf;
xlswrite;
range = sprintf size-1), size);
xlswrite;
fprintf
end
end
fprintf复制代码
DataRetrieval.m