Matlab----网络爬虫例子
2016-04-22 07:10
766 查看
% 本程序用于获取网站中的表格 % written by longwen36 % all rights reserved clc,clear; warning off; for year = 1991:1992 %年份 for jidu = 1:4 fprintf('%d年%d季度的数据...', year, jidu) [sourcefile, status] = urlread(sprintf('http://vip.stock.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/000001/type/S.phtml?year=%d&jidu=%d', year,jidu)); if ~status error('读取出错!\n') end expr1 = '\s+(\d\d\d\d-\d\d-\d\d)\s*'; %获取日期 [datefile, date_tokens]= regexp(sourcefile, expr1, 'match', 'tokens'); date = cell(size(date_tokens)); for idx = 1:length(date_tokens) date{idx} = date_tokens{idx}{1}; end expr2 = '<div align="center">(\d*\.?\d*)</div>'; %获取数据 [datafile, data_tokens] = regexp(sourcefile, expr2, 'match', 'tokens'); data = zeros(size(data_tokens)); for idx = 1:length(data_tokens) data(idx) = str2double(data_tokens{idx}{1}); end data = reshape(data, 6, length(data)/6 )'; %重排 filename = sprintf('%d年',year); pathname = [pwd '\data']; if ~exist(pathname,'dir') mkdir(pathname); end fullfilepath = [pwd '\data\' filename]; % 保存数据到Excel sheet = sprintf('第%d季度', jidu); xlswrite(fullfilepath, date' , sheet); range = sprintf('B1:%s%d',char(double('B')+size(data,2)-1), size(data,1)); xlswrite(fullfilepath, data, sheet, range); fprintf('OK!\n') end end fprintf('全部完成!\n')
相关文章推荐
- Android开发本地及网络Mp3音乐播放器(五)实现专辑封面图片
- Android开发本地及网络Mp3音乐播放器(五)实现专辑封面图片
- 网络编程基础知识
- HttpClient4 获取cookie
- 关于iOS SDK中HTTPS强制握手的经验分享
- libevent高性能网络库源码分析——事件循环(五)
- 深入HTTP协议
- HTTP Status 500
- Http中的重定向和请求转发
- 厦门巨游网络科技有限公司(HOTPOWER)承接游戏UI外包
- VIEWGOOD(远古)校园网络课堂直播点播录制解决方案
- http协议中apache隐藏头部版本信息,PHP版本信息隐藏
- Mono fix compiled issue "Are you missing `System.Net.Http' assembly reference?"
- javaweb中HTTP协议
- http://www.cnblogs.com/enshrineZither/p/3793459.html
- 关于计算机网络一些问题的思考
- [HTTP:101170]The servlet DelServletContextAttr is referenced in servlet-mapping /servlet/DelServlet
- HTTP协议(转)
- Atitit.http代理的实现 代码java php c# python
- Atitit.http代理的实现 代码java php c# python