2015年的股市是当下的热门话题,同事的朋友弄了一个简单的弹股吐槽单页面单日PV就能达30W+ ,相当于本博客一年的PV量。所以站在技术角度,这里也写几篇关于股票技术面的文章。首先本篇先从获取A股列表说起。
目的:获取当前上交所和深交所有A股列表。
一、官方站获取
官方站有两个:
所不同的是,深交所直接提供了EXCEL导出的方式
而上交所比较蛋疼,没有直接提供下载页面,所以需要通过页面扒取,在进行页面分析后发现其所有的股市列表藏在JS文件中。如下:
由于只关注A股,所以这里只取上面的js文件中以60开头的股票。该js文件可以通过curl 或 wget获取并可以通过简单的shell 处理后获取:
# JS文件中的数据格式
function get_data(){
var _t = new Array();
_t.push({val:"600000",val2:"浦发银行",val3:"pfyx"});
_t.push({val:"600004",val2:"白云机场",val3:"byjc"});
_t.push({val:"600005",val2:"武钢股份",val3:"wggf"});
_t.push({val:"600006",val2:"东风汽车",val3:"dfqc"});
…………………………
#shell 语句处理后的格式
# by 运维之路(www.361way.com)
[root@361way ~]# wget http://www.sse.com.cn/js/common/ssesuggestdata.js
[root@361way ~]# grep push ssesuggestdata.js |sed s/\[val2,'});',\",val3\]//g|awk -F: '{print $2,$3,$4}'|grep ^60
600000 浦发银行 pfyx
600004 白云机场 byjc
600005 武钢股份 wggf
600006 东风汽车 dfqc
……………………
所以这种方法获取相对比较简单也快捷。当然,也可以使用selenium + python 模拟浏览器访问扒取。后面会单独讲到。