天哪!楼主功德无量,这可真是好东西!收藏先!
发个股票基本面数据集,截至2014_06_30的半年报,持续更新,这次总不算迟。
写一个包?每个季度更新一次?
回复 第9楼 的 cloud wei:
额,这事我是很土的,先 R 逐个抓网页(大概要花1小时左右),然后R中处理掉大部分 HTML 无用的内容。
然后用另外一个 R-exts , 解析有用的部分,输出一个文本。
就这样两步手工。
回复 第10楼 的 lyxmoo:
可以告诉我你用的数据源地址么?
我倒是认为你可以编个brash使用wget把相应网页下载,然后sed之。因为这样可以一次开无数多个进程一起进行处理,而不像R那样单线程处理(并行除外)。估计时间也就是下载10-15分钟,处理5分钟左右。
回复 第11楼 的 zggjtsgzczh:
现在我用的基本面数据来源,比如抓 sh600000 就是下面的 URL
<br />
http://stock.online.sh.cn/F10.aspx?code=600000<br />
</p>
基本面数据,你懂的。不要开并发太多,很多网站吃不消100个以上的并发。
回复 第12楼 的 lyxmoo:
用chrome的F12的source找了半天没有发现相应数据地址,source不停的刷新链接,看得我眼花缭乱的。
还是用这个吧:
<br />
wget o "http://stock.online.sh.cn/F10.aspx?code=600000" -O 60000.txt<br />
sed -i "297,342!d;$!N;s/\n/ /;/tr/d;s/<[^>]*>//g;s/\t//g;s/ /\,/g" 60000.txt<br />
</p>
测试了一下,下载约一秒,处理0秒。建议你生成一个股票代码列表链接,然后用wget的-i参数下载,接着统一用sed处理目录下所有文件就可以了。这个站点至少支持单一IP下40个下载进程,也就是说,你可以用cut命令把股票代码列表链接文件分割为40个,然后wget并发他们,全部处理时间应不超过5分钟。
处理后的数据
[data]
每股收益,1.040000
每股净资产,10.0090
净资产收益率,10.3833
每股未分配利润,2.2248
每股资本公积金,3.1973
市盈率,5.5137
每股现金含量,13.4760
营收入增长,16.2892
净利润增长,12.7552
报告期,2013-06-30
所属行业,银行和金融服务
市净率,1.0081
总市值(亿元),1882.1353
流通市值(亿元),1505.7082
总股本(万股),1865347.1415
流通股本(万股),1492277.7132
[/data]
如果想合并为一行可以是使用以下命令(可更改代码中的分隔符逗号为其他符号):
<br />
sed "N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;s/\n/\,/g" 60000.txt<br />
[data]
每股收益,1.040000,每股净资产,10.0090,净资产收益率,10.3833,每股未分配利润,2.2248,每股资本公积金,3.1973,市盈率,5.5137,每股现金含量,13.4760,营收入增长,16.2892,净利润增长,12.7552,报告期,2013-06-30,所属行业,银行和金融服务,市净率,1.0081,总市值(亿元),1882.1353,流通市值(亿元),1505.7082,总股本(万股),1865347.1415,流通股本(万股),1492277.7132
[/data]
</p>
回复 第13楼 的 zggjtsgzczh:
很好。曰:善。
回复 第13楼 的 zggjtsgzczh:user@user-Aspire-4750:~$ sed -i "297,342!d;$!N;s/\n/ /;/tr/d;s/<[^>]*>//g;s/\t//g;s/ /\,/g" 60000.txt
bash: !d: event not found
怎么回事呢?
回复 第1楼 的 lyxmoo:谢谢分享!非常棒!
有些童鞋不会写脚本,用数据还是不甚方便。坚持发一个来吧,2013_09_30 截止的基本面数据,
http://pan.baidu.com/s/1gdwt5Z1
列名
<br />
股票代码<br />
每股收益<br />
每股净资产<br />
净资产收益率<br />
每股未分配利润<br />
每股资本公积金<br />
市盈率<br />
每股现金含量<br />
营收入增长<br />
净利润增长<br />
市净率<br />
总市值(亿元)<br />
流通市值(亿元)<br />
总股本(万股)<br />
流通股本(万股)<br />
</p>
本次数据依然从魔都热线抓来整理出,本人不负责数据准确性。用时需要跟online.sh.cn比对确认对齐。
好人啊
我也凑个热闹吧,
mydata<-read.table("http://www.datafiddle.net/UsUzly2buQAAAAAB/file?code=600000",sep=",",fileEncoding="UTF-8",header=TRUE,stringsAsFactors=FALSE)就可以取得页面数据
通过变化上边代码中的code值可以取不同的股票,例如
mydata<-read.table("http://www.datafiddle.net/UsUzly2buQAAAAAB/file?code=200024",sep=",",fileEncoding="UTF-8",header=TRUE,stringsAsFactors=FALSE)
回复 第13楼 的 zggjtsgzczh:
刚为了验证node.js此类问题的性能,写了一个脚本测试取所有股票信息,一共60多行代码,使用64个并发http连接,下载这两千多条数据最快的时候不到4分钟,慢的时候5分多钟。
有需要的小伙伴留言啊(注:这是js脚本,需要您的机器有node js运行环境)。
曰善![s:11]
同上期的数据来源:魔都热线,其中以下新股的数据不准确【在文件最后】,有更正可以直接通知我。
sz300384,sz300385,sz300386,sz300387,sz300388,sz300389,sz300390,sz300391,
sz002726,sz002727,sz002728,sh603006,sh603009,sh603100,sh603111,sh603168,
sh603126,sh603328,sh603369,sh603609,sh603099
哪位以后高就证监会,可否让数据的发布快点,都20140830才公布 20140630 的数据,这效率真不知道说撒了。
顶一个版主的热心和坚持。cos真的不能发附件吗?
我把abasic.2014_2Q也收藏了。
不包含下列新上市股票基本面数据。
sh600917,sh601016,sh601579,sh603006,sh603009,sh603010,sh603018,
sh603099,sh603100,sh603111,sh603126,sh603168,sh603169,sh603188,
sh603306,sh603328,sh603369,sh603456,sh603606,sh603609,sh603688,
sh603806,sz002717,sz002726,sz002727,sz002728,sz002729,sz002730,
sz300384,sz300385,sz300386,sz300387,sz300388,sz300389,sz300390,
sz300391,sz300392,sz300393,sz300395,sz300396,sz300397,sz300398,
sz300399,sz300400,sz300401,sz300402,sz300403,sz300405,sz300406
下载链接百度网盘