如何利用Matlab抓取网页数据

%朋友需要做金融方面的分析,要求从网站上下载大量的数据,一个一个复制粘贴太费事。我写了一个简单的网络爬虫,主要用到正则表达式,可以自动下载网页源文件里面的数据。
clc;
clear;
warning off;

for year = 2010:2011      %年份
for season = 1:4      %季度

fprintf('%d年%d季度的数据...', year, season)
[sourcefile, status] = urlread(sprintf('http://vip.stock.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/000001/type/S.phtml?year=%d&season=%d', year));

if ~status
error('读取出错!\n')
end

expr1 = '\s+(\d\d\d\d-\d\d-\d\d)\s*';    %获取日期('s'空格字符间的日期数据)
[datefile, date_tokens]= regexp(sourcefile, expr1, 'match', 'tokens');   %返回正则表达式的两个关键字 'match'和 'tokens'
date = cell(size(date_tokens));
for idx = 1:length(date_tokens)
    date{idx} = date_tokens{idx}{1};    %length(date_tokens)行 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});       %length(data_tokens)行 1列
end

data = reshape(data, 6, length(data)/6 )'; %重排 数据表格形式为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季度', season);     %工作表名称
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')

(0)

相关推荐

  • Go 大数据生态开源项目 CDS 中 ClickHouse 使用的建表方案

    实时表 从中可以看出两点: 也就是说数据导入后不考虑变更,而且想要直接分析源数据. 因为上面提到的需求,更新这个功能在随后还是以 mutation 的形式加入了.这种 mutation 形式在官网中: ...

  • Dataset之Fashion-MNIST:Fashion-MNIST数据集简介、下载、使用方法之详细攻略

    Dataset之Fashion-MNIST:Fashion-MNIST数据集简介.下载.使用方法之详细攻略 Fashion-MNIST数据集简介 . Fashion-MNIST数据集是德国Zaland ...

  • 生信教程(一)实例展示如何使用TCGA数据库

    相对于基础实验来说,生信分析已经越来越融入科研工作者的生活中,作为基础实验的验证和辅助手段,帮许多老师省下了很多工作,许多老师已经很熟练的在使用了生信分析这个当下,此次分享,主要是针对还没有熟练生信分 ...

  • Pandas 不擅长的结构化数据运算

    Pandas 是 python 的一个数据分析包,是基于 NumPy 的一种数据分析工具,其中纳入了大量库和一些标准的数据模型,提供了快速便捷地处理数据的函数和方法,是高效地操作结构化数据集所需的工具 ...

  • 如何零编程抓取网页数据

    市面上有很多的爬虫软件,如今有很多的爬虫软件,在我尝试之后,我觉得八爪鱼采集器是比较简单的对于我来说, 我给大家操作下 1.首先下载安装 2.安装好后,打开软件,新建任务(填写任务名称 然后下一步) ...

  • 集算器 SPL 抓取网页数据

    网站上的数据源是我们进行统计分析的重要信息源.当我们浏览网页,看到自己感兴趣数据内容时,希望能够快速抓取网页上的数据,这对于数据分析相关工作来说极其重要,也是必备的技能之一.但是网络数据抓取大多需要复 ...

  • 利用python抓取页面数据

    利用python抓取页面数据

  • 怎么用Python写爬虫抓取网页数据

    机器学习首先面临的一个问题就是准备数据,数据的来源大概有这么几种:公司积累数据,购买,交换,政府机构及企业公开的数据,通过爬虫从网上抓取.本篇介绍怎么写一个爬虫从网上抓取公开的数据. 很多语言都可以写 ...

  • 如何让Python爬虫一天抓取100万张网页,爬虫抓取网页数据

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 王平 源自:猿人学Python PS:如有需要Python学习资料的 ...

  • 怎么抓取网页数据 爬虫技术可以爬取什么数据?

    简而言之,爬虫是一种探测机器.它的基本操作是模拟人类行为,在各种网站上漫步,点击按钮,查看数据,或者背诵你看到的信息.就像一只不知疲倦地在建筑物周围爬行的虫子. 因此,爬虫系统有两个功能: 爬虫数据. ...

  • python3 selenium 抓取网页多个表格数据,并导入execl中

    python3 selenium 抓取网页多个表格数据,并导入execl中

  • 如何用PowerBI批量爬取网页数据?

    前面介绍PowerBI数据获取的时候,曾举了一个从网页中获取数据的例子,但当时只是爬取了其中一页数据,这篇文章来介绍如何用PowerBI批量采集多个网页的数据. 本文以智联招聘网站为例,采集工作地点在 ...

  • Power BI抓取猫眼数据告诉你,哪部电影更受欢迎?

    不知不觉2019年的最后一个假期就要结束了,在这七天长假里,你是怎么安排的,有没有抽空去看场电影? <攀登者><中国机长><我和我的祖国>三部主旋律题材的影片备受关 ...