您的位置:首页 > 理论基础 > 计算机网络

MATLAB简易网络爬虫(未加入DFS)

2012-12-16 17:29 239 查看
% 2012/12/15 1:40
% MUST Edward.xu
%%
%清空缓存
clear all;close all;clc;
%warning off; %warning的部分不显示
%%
%打开初始页面
[sourcefile, status] = urlread(sprintf('http://www.sina.cn'));
%%
%正则匹配
%设定需要匹配的字符串模版,这里是爬虫算法,故获取为超链接
%pattern = '<a.+?href=([""]?)([^>\s]+)\1.*?>([\S\s]+?)<\/a>';  %这个版本是对的
%pattern = '<a href=([""]?)http([^>\s]+)\1';   %这个版本是测试是好的
pattern = '<a href=[""]http([^>\s]+)';         %这个版本是我测试的最好的,2012/12/15
[datafile, data_tokens] = regexp(sourcefile, pattern, 'match', 'tokens');%匹配特定的字符串
data = char(datafile)
%%
N=2;  %爬取的深度
%开始爬虫
for i=1:1:N
url_spider = deblank(data(2,:));
[sourcefile, status] = urlread(url_spider(10:end-1));
pattern = '<a href=[""]http([^>\s]+)';
[datafile, data_tokens] = regexp(sourcefile, pattern, 'match', 'tokens');%匹配特定的字符串
data = char(datafile)
end




这里只包含了matlab抓网页,以及找出抓出网页里面的超链接,再重复抓的过程,具体加入DFS的版本之后再给出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: