A. 如何用python 爬虫抓取金融数据
获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一。鉴于此,我拾起了Python这把利器,开启了网络爬虫之路。
本篇使用的版本为python3.5,意在抓取证券之星上当天所有A股数据。程序主要分为三个部分:网页源码的获取、所需内容的提取、所得结果的整理。
一、网页源码的获取
很多人喜欢用python爬虫的原因之一就是它容易上手。只需以下几行代码既可抓取大部分网页的源码。
为了减少干扰,我先用正则表达式从整个页面源码中匹配出以上的主体部分,然后从主体部分中匹配出每只股票的信息。代码如下。
pattern=re.compile('<tbody[sS]*</tbody>')
body=re.findall(pattern,str(content)) #匹配<tbody和</tbody>之间的所有代码pattern=re.compile('>(.*?)<')
stock_page=re.findall(pattern,body[0]) #匹配>和<之间的所有信息
其中compile方法为编译匹配模式,findall方法用此匹配模式去匹配出所需信息,并以列表的方式返回。正则表达式的语法还挺多的,下面我只罗列所用到符号的含义。
语法 说明
. 匹配任意除换行符“ ”外的字符
* 匹配前一个字符0次或无限次
? 匹配前一个字符0次或一次
s 空白字符:[<空格> fv]
S 非空白字符:[^s]
[...] 字符集,对应的位置可以是字符集中任意字符
(...) 被括起来的表达式将作为分组,里面一般为我们所需提取的内容
正则表达式的语法挺多的,也许有大牛只要一句正则表达式就可提取我想提取的内容。在提取股票主体部分代码时发现有人用xpath表达式提取显得更简洁一些,看来页面解析也有很长的一段路要走。
三、所得结果的整理
通过非贪婪模式(.*?)匹配>和<之间的所有数据,会匹配出一些空白字符出来,所以我们采用如下代码把空白字符移除。
stock_last=stock_total[:] #stock_total:匹配出的股票数据for data in stock_total: #stock_last:整理后的股票数据
if data=='':
stock_last.remove('')
最后,我们可以打印几列数据看下效果,代码如下
print('代码',' ','简称',' ',' ','最新价',' ','涨跌幅',' ','涨跌额',' ','5分钟涨幅')for i in range(0,len(stock_last),13): #网页总共有13列数据
print(stock_last[i],' ',stock_last[i+1],' ',' ',stock_last[i+2],' ',' ',stock_last[i+3],' ',' ',stock_last[i+4],' ',' ',stock_last[i+5])
B. 如何用python 取所有股票一段时间历史数据
各种股票软件,例如通达信、同花顺、大智慧,都可以实时查看股票价格和走势,做一些简单的选股和定量分析,但是如果你想做更复杂的分析,例如回归分析、关联分析等就有点捉襟见肘,所以最好能够获取股票历史及实时数据并存储到数据库,然后再通过其他工具,例如SPSS、SAS、EXCEL或者其他高级编程语言连接数据库获取股票数据进行定量分析,这样就能实现更多目的了。
C. 用excel vba 抓取网页中 股票的财务数据 然后做分析 做好了可以加分哈
网抓已经OK。
原网页源代码写的不太规范,几处语法写错的地方解析时要特殊处理,花了点时间。
D. java 如何实现 获取实时股票数据
一般有三种方式:
网页爬虫。采用爬虫去爬取目标网页的股票数据,去GitHub或技术论坛(如CSDN、51CTO)上找一下别人写的爬虫集成到项目中。
请求第三方API。会有专门的公司(例如网络API市场)提供股票数据,你只需要去购买他们的服务,使用他们提供的SDK,仿照demo开发实现即可。如下图所示:
E. 如何利用一些 finance 数据库 api 批量获取股票信息
使用Yahoo API获取股票信息。
F. matlab怎样抓取Yahoo/Sina的股票数据
给你一个例程,用于抓取新浪股票2017年1月份的股票数据。程序如下:
clc;
clear;
year=2017;
season = 1 ;
fprintf('抓取%d年%d季度的数据中...\n', 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));
expr2 = '<div align="center">(\d*\.?\d*)</div>';
[datafile, data_tokens] = regexp(sourcefile, expr2, 'match', 'tokens'); %从源文件中获取目标数据
data = zeros(size(data_tokens));%产生和数据相同长度的0
for idx = 1:length(data_tokens)
data(idx) = str2double(data_tokens{idx}{1}); %转变数据类型后存入data中
end
%%占坑打个广告,代写matlab程序(毕业设计,课程任务等)
%%信号处理,小波变换,PCA降维,ICA分析,分类器,滤波器等。QQ:1577232787
G. 如何使用Yahoo,FinancestockAPI获取股票数据
有三种方法获得数据,具体如下:
1、通过API获取实时数据
请求地址:http://finance.yahoo.com/d/quotes.csv?s=<股票名称>&f=<数据列选项>
具体参数:
s–表示股票名称,多个股票之间使用英文“+”分隔如:”XOM+BBDb.TO+MSFT”,表示三个公司的股票:XOM,BBDb.TO,MSFT。
f–表示返回数据列,如”snd1l1yr”。更详细的参见雅虎股票APIf参数对照表。
2、通过API获取历史数据
请求地址如下:http://ichart.yahoo.com/table.csv?s=<string>&a=<int>&b=<int>&c=<int>&d=<int>&e=<int>&f=<int>&g=d&ignore=.csv
具体参数:
s–股票名称
a–起始时间,月
b–起始时间,日
c–起始时间,年
d–结束时间,月
e–结束时间,日
f–结束时间,年
g–时间周期。
例如:g=w,表示周期是“周"。d表示“日”(day),w表示“周”(week),m表示“月”(mouth),一定注意月份参数,其值比真实数据少1。如需要9月数据,则写为08。
3、通过API获取深沪股票数据
雅虎的API是国际性的,支持查询国内沪深股市的数据,但代码稍微变动一下,如浦发银行的代号是:600000.SS。规则是:上海市场末尾加.SS,深圳市场末尾加.SZ。
H. 股票数据抓取机器人的工作流程分别是操作准备
对。股票(stock)是股份公司所有权的一部分,也是发行的所有权凭证,是股份公司为筹集资金而发行给各个股东作为持股凭证并借以取得股息和红利的一种有价证券。股票是资本市场的长期信用工具,可以转让,买卖,股东凭借它可以分享公司的利润,要承担公司运作错误所带来的风险,每股股票都代表股东对企业拥有一个基本单位的所有权,每家上市公司都会发行股票。
I. 如何在r语言中抓取股票数据并分析论文
用quantomd包
然后getsymbols函数
分析论文 要看你研究方向
如果是看影响因素 一般回归就行
如果看股票波动和预测 可能需要时间序列
J. 股票数据抓取机器人和商品信息机器人有什么不同
股票数据抓取机器人和商品信息机器人区别在于其一具备编程能力,能够根据不同的应用环境进行智能化判断;其二是具备功能自动化操作能力,能够代替传统的人力进行功能操作;其三是具备数据整理能力,能够对于不同环境下的数据进行归类管理。
能够节省大量的人力资源,很多复杂的流程化数据操作都可以通过数据抓取机器人来完成,不仅速度快,精确度也比较高。