Python编程的例子----股票数据接口

本人是以C++为主的开发,Python只是我的玩具语言,对它我没有特别深入的了解,但是,由于Python符合一般的语言设计原则,所以,学起这个语言会比较轻松,另外,我的这篇博客使用了一些开发技巧,比如生产者消费者模型(其实完全没有必要这么做,如果你感兴趣另外一种简单的方式,可以给我留言)!!!正则表达式的使用,我不认为我的这个是最好的,因为我并不擅长这个!下面是主要的内容:

如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL:
http://hq.sinajs.cn/list=sh601003,sh601001

查询大盘指数,比如查询上证综合指数(000001):
http://hq.sinajs.cn/list=s_sh000001

历史接口
http://money.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/603299.phtml?year=2015&jidu=4

获取代码表
上海证券交易所
http://www.sse.com.cn/
上市公司代码列表
http://www.sse.com.cn/assortment/stock/list/name/
信息披露
http://www.sse.com.cn/disclosure/

深圳证券交易所
http://www.szse.cn/
股票交易品种
http://www.szse.cn/main/marketdata/jypz/colist/
信息披露
http://www.szse.cn/main/disclosure/

获取股票编码,使用python 3
元组中第一个元素代表“股票代码”,第二个元素代表“股票名称”,第三个元素代表“股票拼音简写”

#-*-coding:utf-8-*-

import requests
import re

headers_str = '''Host: www.sse.com.cn
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0
Referer: http://www.sse.com.cn/assortment/
'''
headers_list = re.findall(r'(.*?):(.*)', headers_str)
headers = {}
for item in headers_list:
    headers[item[0]] = item[1]
print(headers)
url = 'http://www.sse.com.cn/js/common/ssesuggestdata.js'
js = requests.get(url=url, headers=headers)
list = re.findall(r'val:\"(.*?)\".*?val2:\"(.*?)\".*?val3:\"(.*?)\"', js.text, re.S)
for item in list:
    print(item)

得到最近10个季度的历史数据

#!/usr/bin/python3
#-*-coding:utf-8-*-

import requests
from bs4 import BeautifulSoup
import re
import time
import threading
import sys




# 1. get list about product
# headers_str = '''Host: www.sse.com.cn
# User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0
# Referer: http://www.sse.com.cn/assortment/
# '''
# headers_list = re.findall(r'(.*?):(.*)', headers_str)
# headers = {}
# for item in headers_list:
#     headers[item[0]] = item[1]
#
# url = 'http://www.sse.com.cn/js/common/ssesuggestdata.js;pv330c5904dbd20445'
# print(url)
# js = requests.get(url=url, headers=headers)
# js.encoding = js.apparent_encoding
# list_product = re.findall(r'val:\"(.*?)\".*?val2:\"(.*?)\".*?val3:\"(.*?)\"', js.text, re.S)
list_product = [('600000', '浦发银行', 'pfyx'),
 ('600004', '白云机场', 'byjc'),
 ('600005', '武钢股份', 'wggf'),
 ('600006', '东风汽车', 'dfqc'),
 ('600007', '中国国贸', 'zggm'),
 ('600008', '首创股份', 'scgf'),
 ('600009', '上海机场', 'shjc'),
 ('600010', '包钢股份', 'bggf'),
 ('600011', '华能国际', 'hngj'),
 ('600012', '皖通高速', 'wtgs'),
 ('600015', '华夏银行', 'hxyx'),
 ('600016', '民生银行', 'msyx'),
 ('600017', '日照港', 'rzg'),
 ('600018', '上港集团', 'sgjt'),
 ('600019', '宝钢股份', 'bggf'),
 ('600020', '中原高速', 'zygs'),
 ('600021', '上海电力', 'shdl'),
 ('600022', '山东钢铁', 'sdgt'),
 ('600023', '浙能电力', 'zndl'),
 ('600026', '中海发展', 'zhfz'),
 ('600027', '华电国际', 'hdgj'),
 ('600028', '中国石化', 'zgsh'),
 ('600029', '南方航空', 'nfhk'),
 ('600030', '中信证券', 'zxzq'),
 ('600031', '三一重工', 'syzg'),
 ('600033', '福建高速', 'fjgs'),
 ('600035', '楚天高速', 'ctgs'),
 ('600036', '招商银行', 'zsyx'),
 ('600037', '歌华有线', 'ghyx'),
 ('600038', '中直股份', 'zzgf'),
 ('600039', '四川路桥', 'sclq'),
 ('600048', '保利地产', 'bldc'),
 ('600050', '中国联通', 'zglt'),
 ('600051', '宁波联合', 'nblh'),
 ('600052', '浙江广厦', 'zjgs'),
 ('600053', '九鼎投资', 'jdtz'),
 ('600054', '黄山旅游', 'hsly'),
 ('600055', '华润万东', 'hrwd'),
 ('600056', '中国医药', 'zgyy'),
 ('600057', '象屿股份', 'xygf'),
 ('600058', '五矿发展', 'wkfz'),
 ('600059', '古越龙山', 'gyls'),
 ('600060', '海信电器', 'hxdq'),
 ('600061', '国投安信', 'gtax'),
 ('600062', '华润双鹤', 'hrsh'),
 ('600063', '皖维高新', 'wwgx'),
 ('600064', '南京高科', 'njgk'),
 ('600066', '宇通客车', 'ytkc'),
 ('600067', '冠城大通', 'gcdt'),
 ('600068', '葛洲坝', 'gzb'),
 ('600069', '*ST银鸽', '*STyg'),
 ('600070', '浙江富润', 'zjfr'),
 ('600071', '*ST光学', '*STgx'),
 ('600072', '钢构工程', 'gggc'),
 ('600073', '上海梅林', 'shml'),
 ('600074', '保千里', 'bql'),
 ('600075', '新疆天业', 'xjty'),
 ('600076', '青鸟华光', 'qnhg'),
 ('600077', '宋都股份', 'sdgf'),
 ('600078', '澄星股份', 'cxgf'),
 ('600079', '人福医药', 'rfyy'),
 ('600080', '金花股份', 'jhgf'),
 ('600081', '东风科技', 'dfkj'),
 ('600082', '海泰发展', 'htfz'),
 ('600083', '博信股份', 'bxgf'),
 ('600084', '中葡股份', 'zpgf'),
 ('600085', '同仁堂', 'trt'),
 ('600086', '东方金钰', 'dfjy'),
 ('600088', '中视传媒', 'zscm'),
 ('600089', '特变电工', 'tbdg'),
 ('600090', '啤酒花', 'pjh'),
 ('600091', '*ST明科', '*STmk'),
 ('600093', '禾嘉股份', 'hjgf'),
 ('600094', '大名城', 'dmc'),
 ('600095', '哈高科', 'hgk'),
 ('600096', '云天化', 'yth'),
 ('600097', '开创国际', 'kcgj'),
 ('600098', '广州发展', 'gzfz'),
 ('600099', '林海股份', 'lhgf'),
 ('600100', '同方股份', 'tfgf'),
 ('600101', '明星电力', 'mxdl'),
 ('600103', '青山纸业', 'qszy'),
 ('600104', '上汽集团', 'sqjt'),
 ('600105', '永鼎股份', 'ydgf'),
 ('600106', '重庆路桥', 'zqlq'),
 ('600107', '美尔雅', 'mey'),
 ('600108', '亚盛集团', 'ysjt'),
 ('600109', '国金证券', 'gjzq'),
 ('600110', '中科英华', 'zkyh'),
 ('600111', '北方稀土', 'bfxt'),
 ('600112', '天成控股', 'tckg'),
 ('600113', '浙江东日', 'zjdr'),
 ('600114', '东睦股份', 'dmgf'),
 ('600115', '东方航空', 'dfhk'),
 ('600116', '三峡水利', 'sxsl'),
 ('600117', '西宁特钢', 'xntg'),
 ('600118', '中国卫星', 'zgwx'),
 ('600119', '长江投资', 'zjtz'),
 ('600120', '浙江东方', 'zjdf'),
 ('600121', '郑州煤电', 'zzmd'),
 ('600122', '宏图高科', 'htgk'),
 ('600123', '兰花科创', 'lhkc'),
 ('600125', '铁龙物流', 'tlwl'),
 ('600126', '杭钢股份', 'hggf'),
 ('600127', '金健米业', 'jjmy'),
 ('600128', '弘业股份', 'hygf'),
 ('600129', '太极集团', 'tjjt'),
 ('600130', '波导股份', 'bdgf'),
 ('600131', '岷江水电', 'mjsd'),
 ('600132', '重庆啤酒', 'zqpj'),
 ('600133', '东湖高新', 'dhgx'),
 ('600135', '乐凯胶片', 'lkjp'),
 ('600136', '道博股份', 'dbgf'),
 ('600137', '浪莎股份', 'lsgf'),
 ('600138', '中青旅', 'zql'),
 ('600139', '西部资源', 'xbzy'),
 ('600141', '兴发集团', 'xfjt'),
 ('600143', '金发科技', 'jfkj'),
 ('600145', '*ST新亿', '*STxy'),
 ('600146', '商赢环球', 'syhq'),
 ('600148', '长春一东', 'zcyd'),
 ('600149', '廊坊发展', 'lffz'),
 ('600150', '中国船舶', 'zgcb'),
 ('600151', '航天机电', 'htjd'),
 ('600152', '维科精华', 'wkjh'),
 ('600153', '建发股份', 'jfgf'),
 ('600155', '宝硕股份', 'bsgf'),
 ('600156', '华升股份', 'hsgf'),
 ('600157', '永泰能源', 'ytny'),
 ('600158', '中体产业', 'ztcy'),
 ('600159', '大龙地产', 'dldc'),
 ('600160', '巨化股份', 'jhgf'),
 ('600161', '天坛生物', 'ttsw'),
 ('600162', '香江控股', 'xjkg'),
 ('600163', '*ST闽能', '*STmn'),
 ('600165', '新日恒力', 'xrhl'),
 ('600166', '福田汽车', 'ftqc'),
 ('600167', '联美控股', 'lmkg'),
 ('600168', '武汉控股', 'whkg'),
 ('600169', '太原重工', 'tyzg'),
 ('600170', '上海建工', 'shjg'),
 ('600171', '上海贝岭', 'shbl'),
 ('600172', '黄河旋风', 'hhxf'),
 ('600173', '卧龙地产', 'wldc'),
 ('600175', '美都能源', 'mdny'),
 ('600176', '中国巨石', 'zgjs'),
 ('600177', '雅戈尔', 'yge'),
 ('600178', '东安动力', 'dadl'),
 ('600179', '黑化股份', 'hhgf'),
 ('600180', '瑞茂通', 'rmt'),
 ('600182', 'S佳通', 'Sjt'),
 ('600183', '生益科技', 'sykj'),
 ('600184', '光电股份', 'gdgf'),
 ('600185', '格力地产', 'gldc'),
 ('600186', '莲花味精', 'lhwj'),
 ('600187', '国中水务', 'gzsw'),
 ('600188', '兖州煤业', 'yzmy'),
 ('600189', '吉林森工', 'jlsg'),
 ('600190', '锦州港', 'jzg'),
 ('600191', '华资实业', 'hzsy'),
 ('600192', '长城电工', 'zcdg'),
 ('600193', '创兴资源', 'cxzy'),
 ('600195', '中牧股份', 'zmgf'),
 ('600196', '复星医药', 'fxyy'),
 ('600197', '伊力特', 'ylt'),
 ('600198', '大唐电信', 'dtdx'),
 ('600199', '金种子酒', 'jzzj'),
 ('600200', '江苏吴中', 'jswz'),
 ('600201', '生物股份', 'swgf'),
 ('600202', '哈空调', 'hkd'),
 ('600203', '福日电子', 'frdz'),
 ('600206', '有研新材', 'yyxc'),
 ('600207', '安彩高科', 'acgk'),
 ('600208', '新湖中宝', 'xhzb'),
 ('600209', '罗顿发展', 'ldfz'),
 ('600210', '紫江企业', 'zjqy'),
 ('600211', '西藏药业', 'xzyy'),
 ('600212', '江泉实业', 'jqsy'),
 ('600213', '亚星客车', 'yxkc'),
 ('600215', '长春经开', 'zcjk'),
 ('600216', '浙江医药', 'zjyy'),
 ('600217', '*ST秦岭', '*STql'),
 ('600218', '全柴动力', 'qcdl'),
 ('600219', '南山铝业', 'nsly'),
 ('600220', '江苏阳光', 'jsyg'),
 ('600221', '海南航空', 'hnhk'),
 ('600222', '太龙药业', 'tlyy'),
 ('600223', '鲁商置业', 'lszy'),
 ('600225', '天津松江', 'tjsj'),
 ('600226', '升华拜克', 'shbk'),
 ('600227', '赤天化', 'cth'),
 ('600228', '昌九生化', 'cjsh'),
 ('600229', '城市传媒', 'cscm'),
 ('600230', '沧州大化', 'czdh'),
 ('600231', '凌钢股份', 'lggf'),
 ('600232', '金鹰股份', 'jygf'),
 ('600233', '大杨创世', 'dycs'),
 ('600234', '山水文化', 'sswh'),
 ('600235', '民丰特纸', 'mftz'),
 ('600236', '桂冠电力', 'ggdl'),
 ('600237', '铜峰电子', 'tfdz'),
 ('600238', '海南椰岛', 'hnyd'),
 ('600239', '云南城投', 'ynct'),
 ('600240', '华业资本', 'hyzb'),
 ('600241', '时代万恒', 'sdwh'),
 ('600242', '*ST中昌', '*STzc'),
 ('600243', '青海华鼎', 'qhhd'),
 ('600246', '万通地产', 'wtdc'),
 ('600247', '*ST成城', '*STcc'),
 ('600248', '延长化建', 'yzhj'),
 ('600249', '两面针', 'lmz'),
 ('600250', '南纺股份', 'nfgf'),
 ('600251', '冠农股份', 'gngf'),
 ('600252', '中恒集团', 'zhjt'),
 ('600255', '鑫科材料', 'xkcl'),
 ('600256', '广汇能源', 'ghny'),
 ('600257', '大湖股份', 'dhgf'),
 ('600258', '首旅酒店', 'sljd'),
 ('600259', '广晟有色', 'gsys'),
 ('600260', '凯乐科技', 'klkj'),
 ('600261', '阳光照明', 'ygzm'),
 ('600262', '北方股份', 'bfgf'),
 ('600265', 'ST景谷', 'STjg'),
 ('600266', '北京城建', 'bjcj'),
 ('600267', '海正药业', 'hzyy'),
 ('600268', '国电南自', 'gdnz'),
 ('600269', '赣粤高速', 'gygs'),
 ('600270', '外运发展', 'wyfz'),
 ('600271', '航天信息', 'htxx'),
 ('600272', '开开实业', 'kksy'),
 ('600273', '嘉化能源', 'jhny'),
 ('600275', '武昌鱼', 'wcy'),
 ('600276', '恒瑞医药', 'hryy'),
 ('600277', '亿利洁能', 'yljn'),
 ('600278', '东方创业', 'dfcy'),
 ('600279', '重庆港九', 'zqgj'),
 ('600280', '中央商场', 'zysc'),
 ('600281', '太化股份', 'thgf'),
 ('600282', '南钢股份', 'nggf'),
 ('600283', '钱江水利', 'qjsl'),
 ('600284', '浦东建设', 'pdjs'),
 ('600285', '羚锐制药', 'lrzy'),
 ('600287', '江苏舜天', 'jsst'),
 ('600288', '大恒科技', 'dhkj'),
 ('600289', '亿阳信通', 'yyxt'),
 ('600290', '华仪电气', 'hydq'),
 ('600291', '西水股份', 'xsgf'),
 ('600292', '中电远达', 'zdyd'),
 ('600293', '三峡新材', 'sxxc'),
 ('600295', '鄂尔多斯', 'eeds'),
 ('600297', '广汇汽车', 'ghqc'),
 ('600298', '安琪酵母', 'aqjm'),
 ('600299', '安迪苏', 'ads'),
 ('600300', '维维股份', 'wwgf'),
 ('600301', '*ST南化', '*STnh'),
 ('600302', '标准股份', 'bzgf'),
 ('600303', '曙光股份', 'sggf'),
 ('600305', '恒顺醋业', 'hscy'),
 ('600306', '商业城', 'syc'),
 ('600307', '酒钢宏兴', 'jghx'),
 ('600308', '华泰股份', 'htgf'),
 ('600309', '万华化学', 'whhx'),
 ('600310', '桂东电力', 'gddl'),
 ('600311', 'ST荣华', 'STrh'),
 ('600312', '平高电气', 'pgdq'),
 ('600313', '农发种业', 'nfzy'),
 ('600315', '上海家化', 'shjh'),
 ('600316', '洪都航空', 'hdhk'),
 ('600317', '营口港', 'ykg'),
 ('600318', '巢东股份', 'cdgf'),
 ('600319', '亚星化学', 'yxhx'),
 ('600320', '振华重工', 'zhzg'),
 ('600321', '国栋建设', 'gdjs'),
 ('600322', '天房发展', 'tffz'),
 ('600323', '瀚蓝环境', 'hlhj'),
 ('600325', '华发股份', 'hfgf'),
 ('600326', '西藏天路', 'xztl'),
 ('600327', '大东方', 'ddf'),
 ('600328', '兰太实业', 'ltsy'),
 ('600329', '中新药业', 'zxyy'),
 ('600330', '天通股份', 'ttgf'),
 ('600331', '宏达股份', 'hdgf'),
 ('600332', '白云山', 'bys'),
 ('600333', '长春燃气', 'zcrq'),
 ('600335', '国机汽车', 'gjqc'),
 ('600336', '澳柯玛', 'akm'),
 ('600337', '美克家居', 'mkjj'),
 ('600338', '西藏珠峰', 'xzzf'),
 ('600339', '天利高新', 'tlgx'),
 ('600340', '华夏幸福', 'hxxf'),
 ('600343', '航天动力', 'htdl'),
 ('600345', '长江通信', 'zjtx'),
 ('600346', '大橡塑', 'dxs'),
 ('600348', '阳泉煤业', 'yqmy'),
 ('600350', '山东高速', 'sdgs'),
 ('600351', '亚宝药业', 'ybyy'),
 ('600352', '浙江龙盛', 'zjls'),
 ('600353', '旭光股份', 'xggf'),
 ('600354', '敦煌种业', 'dhzy'),
 ('600355', '精伦电子', 'jldz'),
 ('600356', '恒丰纸业', 'hfzy'),
 ('600358', '国旅联合', 'gllh'),
 ('600359', '新农开发', 'xnkf'),
 ('600360', '华微电子', 'hwdz'),
 ('600361', '华联综超', 'hlzc'),
 ('600362', '江西铜业', 'jxty'),
 ('600363', '联创光电', 'lcgd'),
 ('600365', '通葡股份', 'tpgf'),
 ('600366', '宁波韵升', 'nbys'),
 ('600367', '红星发展', 'hxfz'),
 ('600368', '五洲交通', 'wzjt'),
 ('600369', '西南证券', 'xnzq'),
 ('600370', '三房巷', 'sfx'),
 ('600371', '万向德农', 'wxdn'),
 ('600372', '中航电子', 'zhdz'),
 ('600373', '中文传媒', 'zwcm'),
 ('600375', '华菱星马', 'hlxm'),
 ('600376', '首开股份', 'skgf'),
 ('600377', '宁沪高速', 'nhgs'),
 ('600378', '天科股份', 'tkgf'),
 ('600379', '宝光股份', 'bggf'),
 ('600380', '健康元', 'jky'),
 ('600381', '青海春天', 'qhct'),
 ('600382', '广东明珠', 'gdmz'),
 ('600383', '金地集团', 'jdjt'),
 ('600385', '山东金泰', 'sdjt'),
 ('600386', '北巴传媒', 'bbcm'),
 ('600387', '海越股份', 'hygf'),
 ('600388', '龙净环保', 'ljhb'),
 ('600389', '江山股份', 'jsgf'),
 ('600390', '金瑞科技', 'jrkj'),
 ('600391', '成发科技', 'cfkj'),
 ('600392', '盛和资源', 'shzy'),
 ('600393', '东华实业', 'dhsy'),
 ('600395', '盘江股份', 'pjgf'),
 ('600396', '金山股份', 'jsgf'),
 ('600397', '安源煤业', 'aymy'),
 ('600398', '海澜之家', 'hlzj'),
 ('600399', '抚顺特钢', 'fstg'),
 ('600400', '红豆股份', 'hdgf'),
 ('600401', '*ST海润', '*SThr'),
 ('600403', '大有能源', 'dyny'),
 ('600405', '动力源', 'dly'),
 ('600406', '国电南瑞', 'gdnr'),
 ('600408', '*ST安泰', '*STat'),
 ('600409', '三友化工', 'syhg'),
 ('600410', '华胜天成', 'hstc'),
 ('600415', '小商品城', 'xspc'),
 ('600416', '湘电股份', 'xdgf'),
 ('600418', '江淮汽车', 'jhqc'),
 ('600419', '天润乳业', 'trry'),
 ('600420', '现代制药', 'xdzy'),
 ('600421', '仰帆控股', 'yfkg'),
 ('600422', '昆药集团', 'kyjt'),
 ('600423', '柳化股份', 'lhgf'),
 ('600425', '青松建化', 'qsjh'),
 ('600426', '华鲁恒升', 'hlhs'),
 ('600428', '中远航运', 'zyhy'),
 ('600429', '三元股份', 'sygf'),
 ('600432', '吉恩镍业', 'jeny'),
 ('600433', '冠豪高新', 'ghgx'),
 ('600435', '北方导航', 'bfdh'),
 ('600436', '片仔癀', 'pzh'),
 ('600438', '通威股份', 'twgf'),
 ('600439', '瑞贝卡', 'rbk'),
 ('600444', '*ST国通', '*STgt'),
 ('600446', '金证股份', 'jzgf'),
 ('600448', '华纺股份', 'hfgf'),
 ('600449', '宁夏建材', 'nxjc'),
 ('600452', '涪陵电力', 'fldl'),
 ('600455', '博通股份', 'btgf'),
 ('600456', '宝钛股份', 'btgf'),
 ('600458', '时代新材', 'sdxc'),
 ('600459', '贵研铂业', 'gyby'),
 ('600460', '士兰微', 'slw'),
 ('600461', '洪城水业', 'hcsy'),
 ('600462', '石岘纸业', 'sxzy'),
 ('600463', '空港股份', 'kggf'),
 ('600466', '蓝光发展', 'lgfz'),
 ('600467', '好当家', 'hdj'),
 ('600468', '百利电气', 'bldq'),
 ('600469', '风神股份', 'fsgf'),
 ('600470', '六国化工', 'lghg'),
 ('600475', '华光股份', 'hggf'),
 ('600476', '湘邮科技', 'xykj'),
 ('600477', '杭萧钢构', 'hxgg'),
 ('600478', '科力远', 'kly'),
 ('600479', '千金药业', 'qjyy'),
 ('600480', '凌云股份', 'lygf'),
 ('600481', '双良节能', 'sljn'),
 ('600482', '风帆股份', 'ffgf'),
 ('600483', '福能股份', 'fngf'),
 ('600485', '信威集团', 'xwjt'),
 ('600486', '扬农化工', 'ynhg'),
 ('600487', '亨通光电', 'htgd'),
 ('600488', '天药股份', 'tygf'),
 ('600489', '中金黄金', 'zjhj'),
 ('600490', '鹏欣资源', 'pxzy'),
 ('600491', '龙元建设', 'lyjs'),
 ('600493', '凤竹纺织', 'fzfz'),
 ('600495', '晋西车轴', 'jxcz'),
 ('600496', '精工钢构', 'jggg'),
 ('600497', '驰宏锌锗', 'chxz'),
 ('600498', '烽火通信', 'fhtx'),
 ('600499', '科达洁能', 'kdjn'),
 ('600500', '中化国际', 'zhgj'),
 ('600501', '航天晨光', 'htcg'),
 ('600502', '安徽水利', 'ahsl'),
 ('600503', '华丽家族', 'hljz'),
 ('600505', '西昌电力', 'xcdl'),
 ('600506', '香梨股份', 'xlgf'),
 ('600507', '方大特钢', 'fdtg'),
 ('600508', '上海能源', 'shny'),
 ('600509', '天富能源', 'tfny'),
 ('600510', '黑牡丹', 'hmd'),
 ('600511', '国药股份', 'gygf'),
 ('600512', '腾达建设', 'tdjs'),
 ('600513', '联环药业', 'lhyy'),
 ('600515', '海岛建设', 'hdjs'),
 ('600516', '方大炭素', 'fdts'),
 ('600517', '置信电气', 'zxdq'),
 ('600518', '康美药业', 'kmyy'),
 ('600519', '贵州茅台', 'gzmt'),
 ('600520', '中发科技', 'zfkj'),
 ('600521', '华海药业', 'hhyy'),
 ('600522', '中天科技', 'ztkj'),
 ('600523', '贵航股份', 'ghgf'),
 ('600525', '长园集团', 'zyjt'),
 ('600526', '菲达环保', 'fdhb'),
 ('600527', '江南高纤', 'jngx'),
 ('600528', '中铁二局', 'ztej'),
 ('600529', '山东药玻', 'sdyb'),
 ('600530', '交大昂立', 'jdal'),
 ('600531', '豫光金铅', 'ygjq'),
 ('600532', '宏达矿业', 'hdky'),
 ('600533', '栖霞建设', 'qxjs'),
 ('600535', '天士力', 'tsl'),
 ('600536', '中国软件', 'zgrj'),
 ('600537', '亿晶光电', 'yjgd'),
 ('600538', '国发股份', 'gfgf'),
 ('600539', '*ST狮头', '*STst'),
 ('600540', '新赛股份', 'xsgf'),
 ('600543', '莫高股份', 'mggf'),
 ('600545', '新疆城建', 'xjcj'),
 ('600546', '山煤国际', 'smgj'),
 ('600547', '山东黄金', 'sdhj'),
 ('600548', '深高速', 'sgs'),
 ('600549', '厦门钨业', 'smwy'),
 ('600550', '保变电气', 'bbdq'),
 ('600551', '时代出版', 'sdcb'),
 ('600552', '方兴科技', 'fxkj'),
 ('600555', '九龙山', 'jls'),
 ('600556', '慧球科技', 'hqkj'),
 ('600557', '康缘药业', 'kyyy'),
 ('600558', '大西洋', 'dxy'),
 ('600559', '老白干酒', 'lbgj'),
 ('600560', '金自天正', 'jztz'),
 ('600561', '江西长运', 'jxzy'),
 ('600562', '国睿科技', 'grkj'),
 ('600563', '法拉电子', 'fldz'),
 ('600565', '迪马股份', 'dmgf'),
 ('600566', '济川药业', 'jcyy'),
 ('600567', '山鹰纸业', 'syzy'),
 ('600568', '中珠控股', 'zzkg'),
 ('600569', '安阳钢铁', 'aygt'),
 ('600570', '恒生电子', 'hsdz'),
 ('600571', '信雅达', 'xyd'),
 ('600572', '康恩贝', 'keb'),
 ('600573', '惠泉啤酒', 'hqpj'),
 ('600575', '皖江物流', 'wjwl'),
 ('600576', '万家文化', 'wjwh'),
 ('600577', '精达股份', 'jdgf'),
 ('600578', '京能电力', 'jndl'),
 ('600579', '天华院', 'thy'),
 ('600580', '卧龙电气', 'wldq'),
 ('600581', '八一钢铁', 'bygt'),
 ('600582', '天地科技', 'tdkj'),
 ('600583', '海油工程', 'hygc'),
 ('600584', '长电科技', 'zdkj'),
 ('600585', '海螺水泥', 'hlsn'),
 ('600586', '金晶科技', 'jjkj'),
 ('600587', '新华医疗', 'xhyl'),
 ('600588', '用友网络', 'yywl'),
 ('600589', '广东榕泰', 'gdrt'),
 ('600590', '泰豪科技', 'thkj'),
 ('600592', '龙溪股份', 'lxgf'),
 ('600593', '大连圣亚', 'dlsy'),
 ('600594', '益佰制药', 'ybzy'),
 ('600595', '中孚实业', 'zfsy'),
 ('600596', '新安股份', 'xagf'),
 ('600597', '光明乳业', 'gmry'),
 ('600598', '北大荒', 'bdh'),
 ('600599', '熊猫金控', 'xmjk'),
 ('600600', '青岛啤酒', 'qdpj'),
 ('600601', '方正科技', 'fzkj'),
 ('600602', '仪电电子', 'yddz'),
 ('600603', '大洲兴业', 'dzxy'),
 ('600604', '市北高新', 'sbgx'),
 ('600605', '汇通能源', 'htny'),
 ('600606', '绿地控股', 'ldkg'),
 ('600608', '*ST沪科', '*SThk'),
 ('600609', '金杯汽车', 'jbqc'),
 ('600610', '中毅达', 'zyd'),
 ('600611', '大众交通', 'dzjt'),
 ('600612', '老凤祥', 'lfx'),
 ('600613', '神奇制药', 'sqzy'),
 ('600614', '鼎立股份', 'dlgf'),
 ('600615', '丰华股份', 'fhgf'),
 ('600616', '金枫酒业', 'jfjy'),
 ('600617', '国新能源', 'gxny'),
 ('600618', '氯碱化工', 'ljhg'),
 ('600619', '海立股份', 'hlgf'),
 ('600620', '天宸股份', 'tcgf'),
 ('600621', '华鑫股份', 'hxgf'),
 ('600622', '嘉宝集团', 'jbjt'),
 ('600623', '双钱股份', 'sqgf'),
 ('600624', '复旦复华', 'fdfh'),
 ('600626', '申达股份', 'sdgf'),
 ('600628', '新世界', 'xsj'),
 ('600629', '华建集团', 'hjjt'),
 ('600630', '龙头股份', 'ltgf'),
 ('600633', '浙报传媒', 'zbcm'),
 ('600634', '中技控股', 'zjkg'),
 ('600635', '大众公用', 'dzgy'),
 ('600636', '三爱富', 'saf'),
 ('600637', '东方明珠', 'dfmz'),
 ('600638', '新黄浦', 'xhp'),
 ('600639', '浦东金桥', 'pdjq'),
 ('600640', '号百控股', 'hbkg'),
 ('600641', '万业企业', 'wyqy'),
 ('600642', '申能股份', 'sngf'),
 ('600643', '爱建集团', 'ajjt'),
 ('600644', '*ST乐电', '*STld'),
 ('600645', '中源协和', 'zyxh'),
 ('600647', '同达创业', 'tdcy'),
 ('600648', '外高桥', 'wgq'),
 ('600649', '城投控股', 'ctkg'),
 ('600650', '锦江投资', 'jjtz'),
 ('600651', '飞乐音响', 'flyx'),
 ('600652', '游久游戏', 'yjyx'),
 ('600653', '申华控股', 'shkg'),
 ('600654', '中安消', 'zax'),
 ('600655', '豫园商城', 'yysc'),
 ('600657', '信达地产', 'xddc'),
 ('600658', '电子城', 'dzc'),
 ('600660', '福耀玻璃', 'fybl'),
 ('600661', '新南洋', 'xny'),
 ('600662', '强生控股', 'qskg'),
 ('600663', '陆家嘴', 'ljz'),
 ('600664', '哈药股份', 'hygf'),
 ('600665', '天地源', 'tdy'),
 ('600666', '奥瑞德', 'ard'),
 ('600667', '太极实业', 'tjsy'),
 ('600668', '尖峰集团', 'jfjt'),
 ('600671', '天目药业', 'tmyy'),
 ('600673', '东阳光科', 'dygk'),
 ('600674', '川投能源', 'ctny'),
 ('600675', '中华企业', 'zhqy'),
 ('600676', '交运股份', 'jygf'),
 ('600677', '航天通信', 'httx'),
 ('600678', '四川金顶', 'scjd'),
 ('600679', '金山开发', 'jskf'),
 ('600680', '上海普天', 'shpt'),
 ('600681', '万鸿集团', 'whjt'),
 ('600682', '南京新百', 'njxb'),
 ('600683', '京投银泰', 'jtyt'),
 ('600684', '珠江实业', 'zjsy'),
 ('600685', '中船防务', 'zcfw'),
 ('600686', '金龙汽车', 'jlqc'),
 ('600687', '刚泰控股', 'gtkg'),
 ('600688', '上海石化', 'shsh'),
 ('600689', '上海三毛', 'shsm'),
 ('600690', '青岛海尔', 'qdhe'),
 ('600691', '*ST阳化', '*STyh'),
 ('600692', '亚通股份', 'ytgf'),
 ('600693', '东百集团', 'dbjt'),
 ('600694', '大商股份', 'dsgf'),
 ('600695', '绿庭投资', 'lttz'),
 ('600696', '匹凸匹', 'ptp'),
 ('600697', '欧亚集团', 'oyjt'),
 ('600698', '湖南天雁', 'hnty'),
 ('600699', '均胜电子', 'jsdz'),
 ('600701', '工大高新', 'gdgx'),
 ('600702', '沱牌舍得', 'tpsd'),
 ('600703', '三安光电', 'sagd'),
 ('600704', '物产中大', 'wczd'),
 ('600705', '中航资本', 'zhzb'),
 ('600706', '曲江文旅', 'qjwl'),
 ('600707', '彩虹股份', 'chgf'),
 ('600708', '光明地产', 'gmdc'),
 ('600710', '*ST常林', '*STcl'),
 ('600711', '盛屯矿业', 'stky'),
 ('600712', '南宁百货', 'nnbh'),
 ('600713', '南京医药', 'njyy'),
 ('600714', '金瑞矿业', 'jrky'),
 ('600715', '*ST松辽', '*STsl'),
 ('600716', '凤凰股份', 'fhgf'),
 ('600717', '天津港', 'tjg'),
 ('600718', '东软集团', 'drjt'),
 ('600719', '大连热电', 'dlrd'),
 ('600720', '祁连山', 'qls'),
 ('600721', '百花村', 'bhc'),
 ('600722', '*ST金化', '*STjh'),
 ('600723', '首商股份', 'ssgf'),
 ('600724', '宁波富达', 'nbfd'),
 ('600725', '云维股份', 'ywgf'),
 ('600726', '华电能源', 'hdny'),
 ('600727', '鲁北化工', 'lbhg'),
 ('600728', '佳都科技', 'jdkj'),
 ('600729', '重庆百货', 'zqbh'),
 ('600730', '中国高科', 'zggk'),
 ('600731', '湖南海利', 'hnhl'),
 ('600732', '*ST新梅', '*STxm'),
 ('600733', 'S前锋', 'Sqf'),
 ('600734', '实达集团', 'sdjt'),
 ('600735', '新华锦', 'xhj'),
 ('600736', '苏州高新', 'szgx'),
 ('600737', '中粮屯河', 'zlth'),
 ('600738', '兰州民百', 'lzmb'),
 ('600739', '辽宁成大', 'lncd'),
 ('600740', '山西焦化', 'sxjh'),
 ('600741', '华域汽车', 'hyqc'),
 ('600742', '一汽富维', 'yqfw'),
 ('600743', '华远地产', 'hydc'),
 ('600744', '华银电力', 'hydl'),
 ('600745', '中茵股份', 'zygf'),
 ('600746', '江苏索普', 'jssp'),
 ('600747', '大连控股', 'dlkg'),
 ('600748', '上实发展', 'ssfz'),
 ('600749', '西藏旅游', 'xzly'),
 ('600750', '江中药业', 'jzyy'),
 ('600751', '天海投资', 'thtz'),
 ('600753', '东方银星', 'dfyx'),
 ('600754', '锦江股份', 'jjgf'),
 ('600755', '厦门国贸', 'smgm'),
 ('600756', '浪潮软件', 'lcrj'),
 ('600757', '长江传媒', 'zjcm'),
 ('600758', '红阳能源', 'hyny'),
 ('600759', '洲际油气', 'zjyq'),
 ('600760', '中航黑豹', 'zhhb'),
 ('600761', '安徽合力', 'ahhl'),
 ('600763', '通策医疗', 'tcyl'),
 ('600764', '中电广通', 'zdgt'),
 ('600765', '中航重机', 'zhzj'),
 ('600766', '园城黄金', 'ychj'),
 ('600767', '运盛医疗', 'ysyl'),
 ('600768', '宁波富邦', 'nbfb'),
 ('600769', '祥龙电业', 'xldy'),
 ('600770', '综艺股份', 'zygf'),
 ('600771', '广誉远', 'gyy'),
 ('600773', '西藏城投', 'xzct'),
 ('600774', '汉商集团', 'hsjt'),
 ('600775', '南京熊猫', 'njxm'),
 ('600776', '东方通信', 'dftx'),
 ('600777', '新潮实业', 'xcsy'),
 ('600778', '友好集团', 'yhjt'),
 ('600779', '*ST水井', '*STsj'),
 ('600780', '通宝能源', 'tbny'),
 ('600781', '辅仁药业', 'fryy'),
 ('600782', '新钢股份', 'xggf'),
 ('600783', '鲁信创投', 'lxct'),
 ('600784', '鲁银投资', 'lytz'),
 ('600785', '新华百货', 'xhbh'),
 ('600787', '中储股份', 'zcgf'),
 ('600789', '鲁抗医药', 'lkyy'),
 ('600790', '轻纺城', 'qfc'),
 ('600791', '京能置业', 'jnzy'),
 ('600792', '云煤能源', 'ymny'),
 ('600793', 'ST宜纸', 'STyz'),
 ('600794', '保税科技', 'bskj'),
 ('600795', '国电电力', 'gddl'),
 ('600796', '钱江生化', 'qjsh'),
 ('600797', '浙大网新', 'zdwx'),
 ('600798', '宁波海运', 'nbhy'),
 ('600800', '天津磁卡', 'tjck'),
 ('600801', '华新水泥', 'hxsn'),
 ('600802', '福建水泥', 'fjsn'),
 ('600803', '新奥股份', 'xagf'),
 ('600804', '鹏博士', 'pbs'),
 ('600805', '悦达投资', 'ydtz'),
 ('600806', '昆明机床', 'kmjc'),
 ('600807', '天业股份', 'tygf'),
 ('600808', '马钢股份', 'mggf'),
 ('600809', '山西汾酒', 'sxfj'),
 ('600810', '神马股份', 'smgf'),
 ('600811', '东方集团', 'dfjt'),
 ('600812', '华北制药', 'hbzy'),
 ('600814', '杭州解百', 'hzjb'),
 ('600815', '厦工股份', 'sggf'),
 ('600816', '安信信托', 'axxt'),
 ('600817', 'ST宏盛', 'SThs'),
 ('600818', '中路股份', 'zlgf'),
 ('600819', '耀皮玻璃', 'ypbl'),
 ('600820', '隧道股份', 'sdgf'),
 ('600821', '津劝业', 'jqy'),
 ('600822', '上海物贸', 'shwm'),
 ('600823', '世茂股份', 'smgf'),
 ('600824', '益民集团', 'ymjt'),
 ('600825', '新华传媒', 'xhcm'),
 ('600826', '兰生股份', 'lsgf'),
 ('600827', '百联股份', 'blgf'),
 ('600828', '成商集团', 'csjt'),
 ('600829', '人民同泰', 'rmtt'),
 ('600830', '香溢融通', 'xyrt'),
 ('600831', '广电网络', 'gdwl'),
 ('600833', '第一医药', 'dyyy'),
 ('600834', '申通地铁', 'stdt'),
 ('600835', '上海机电', 'shjd'),
 ('600836', '界龙实业', 'jlsy'),
 ('600837', '海通证券', 'htzq'),
 ('600838', '上海九百', 'shjb'),
 ('600839', '四川长虹', 'sczh'),
 ('600841', '上柴股份', 'scgf'),
 ('600843', '上工申贝', 'sgsb'),
 ('600844', '丹化科技', 'dhkj'),
 ('600845', '宝信软件', 'bxrj'),
 ('600846', '同济科技', 'tjkj'),
 ('600847', '万里股份', 'wlgf'),
 ('600848', '上海临港', 'shlg'),
 ('600850', '华东电脑', 'hddn'),
 ('600851', '海欣股份', 'hxgf'),
 ('600853', '龙建股份', 'ljgf'),
 ('600854', '春兰股份', 'clgf'),
 ('600855', '航天长峰', 'htzf'),
 ('600856', '中天能源', 'ztny'),
 ('600857', '宁波中百', 'nbzb'),
 ('600858', '银座股份', 'yzgf'),
 ('600859', '王府井', 'wfj'),
 ('600860', '京城股份', 'jcgf'),
 ('600861', '北京城乡', 'bjcx'),
 ('600862', '南通科技', 'ntkj'),
 ('600863', '内蒙华电', 'nmhd'),
 ('600864', '哈投股份', 'htgf'),
 ('600865', '百大集团', 'bdjt'),
 ('600866', '星湖科技', 'xhkj'),
 ('600867', '通化东宝', 'thdb'),
 ('600868', '梅雁吉祥', 'myjx'),
 ('600869', '智慧能源', 'zhny'),
 ('600870', '*ST厦华', '*STsh'),
 ('600871', '石化油服', 'shyf'),
 ('600872', '中炬高新', 'zjgx'),
 ('600873', '梅花生物', 'mhsw'),
 ('600874', '创业环保', 'cyhb'),
 ('600875', '东方电气', 'dfdq'),
 ('600876', '洛阳玻璃', 'lybl'),
 ('600877', '中国嘉陵', 'zgjl'),
 ('600879', '航天电子', 'htdz'),
 ('600880', '博瑞传播', 'brcb'),
 ('600881', '亚泰集团', 'ytjt'),
 ('600882', '华联矿业', 'hlky'),
 ('600883', '博闻科技', 'bwkj'),
 ('600884', '杉杉股份', 'ssgf'),
 ('600885', '宏发股份', 'hfgf'),
 ('600886', '国投电力', 'gtdl'),
 ('600887', '伊利股份', 'ylgf'),
 ('600888', '新疆众和', 'xjzh'),
 ('600889', '南京化纤', 'njhx'),
 ('600890', '中房股份', 'zfgf'),
 ('600891', '秋林集团', 'qljt'),
 ('600892', '宝诚股份', 'bcgf'),
 ('600893', '中航动力', 'zhdl'),
 ('600894', '广日股份', 'grgf'),
 ('600895', '张江高科', 'zjgk'),
 ('600896', '中海海盛', 'zhhs'),
 ('600897', '厦门空港', 'smkg'),
 ('600898', '三联商社', 'slss'),
 ('600900', '长江电力', 'zjdl'),
 ('600917', '重庆燃气', 'zqrq'),
 ('600958', '东方证券', 'dfzq'),
 ('600959', '江苏有线', 'jsyx'),
 ('600960', '渤海活塞', 'bhhs'),
 ('600961', '株冶集团', 'zyjt'),
 ('600962', '*ST中鲁', '*STzl'),
 ('600963', '岳阳林纸', 'yylz'),
 ('600965', '福成五丰', 'fcwf'),
 ('600966', '博汇纸业', 'bhzy'),
 ('600967', '北方创业', 'bfcy'),
 ('600969', '郴电国际', 'cdgj'),
 ('600970', '中材国际', 'zcgj'),
 ('600971', '恒源煤电', 'hymd'),
 ('600973', '宝胜股份', 'bsgf'),
 ('600975', '新五丰', 'xwf'),
 ('600976', '健民集团', 'jmjt'),
 ('600978', '宜华木业', 'yhmy'),
 ('600979', '广安爱众', 'gaaz'),
 ('600980', '北矿磁材', 'bkcc'),
 ('600981', '汇鸿集团', 'hhjt'),
 ('600982', '宁波热电', 'nbrd'),
 ('600983', '惠而浦', 'hep'),
 ('600984', '*ST建机', '*STjj'),
 ('600985', '雷鸣科化', 'lmkh'),
 ('600986', '科达股份', 'kdgf'),
 ('600987', '航民股份', 'hmgf'),
 ('600988', '赤峰黄金', 'cfhj'),
 ('600990', '四创电子', 'scdz'),
 ('600992', '贵绳股份', 'gsgf'),
 ('600993', '马应龙', 'myl'),
 ('600995', '文山电力', 'wsdl'),
 ('600997', '开滦股份', 'klgf'),
 ('600998', '九州通', 'jzt'),
 ('600999', '招商证券', 'zszq'),
 ('601000', '唐山港', 'tsg'),
 ('601001', '大同煤业', 'dtmy'),
 ('601002', '晋亿实业', 'jysy'),
 ('601003', '柳钢股份', 'lggf'),
 ('601005', '重庆钢铁', 'zqgt'),
 ('601006', '大秦铁路', 'dqtl'),
 ('601007', '金陵饭店', 'jlfd'),
 ('601008', '连云港', 'lyg'),
 ('601009', '南京银行', 'njyx'),
 ('601010', '文峰股份', 'wfgf'),
 ('601011', '宝泰隆', 'btl'),
 ('601012', '隆基股份', 'ljgf'),
 ('601015', '陕西黑猫', 'sxhm'),
 ('601016', '节能风电', 'jnfd'),
 ('601018', '宁波港', 'nbg'),
 ('601021', '春秋航空', 'cqhk'),
 ('601028', '玉龙股份', 'ylgf'),
 ('601038', '一拖股份', 'ytgf'),
 ('601058', '赛轮金宇', 'sljy'),
 ('601069', '西部黄金', 'xbhj'),
 ('601088', '中国神华', 'zgsh'),
 ('601098', '中南传媒', 'zncm'),
 ('601099', '太平洋', 'tpy'),
 ('601100', '恒立油缸', 'hlyg'),
 ('601101', '昊华能源', 'hhny'),
 ('601106', '中国一重', 'zgyz'),
 ('601107', '四川成渝', 'sccy'),
 ('601111', '中国国航', 'zggh'),
 ('601113', '华鼎股份', 'hdgf'),
 ('601116', '三江购物', 'sjgw'),
 ('601117', '中国化学', 'zghx'),
 ('601118', '海南橡胶', 'hnxj'),
 ('601126', '四方股份', 'sfgf'),
 ('601137', '博威合金', 'bwhj'),
 ('601139', '深圳燃气', 'szrq'),
 ('601155', '新城控股', 'xckg'),
 ('601158', '重庆水务', 'zqsw'),
 ('601166', '兴业银行', 'xyyx'),
 ('601168', '西部矿业', 'xbky'),
 ('601169', '北京银行', 'bjyx'),
 ('601177', '杭齿前进', 'hcqj'),
 ('601179', '中国西电', 'zgxd'),
 ('601186', '中国铁建', 'zgtj'),
 ('601188', '龙江交通', 'ljjt'),
 ('601198', '东兴证券', 'dxzq'),
 ('601199', '江南水务', 'jnsw'),
 ('601208', '东材科技', 'dckj'),
 ('601211', '国泰君安', 'gtja'),
 ('601216', '君正集团', 'jzjt'),
 ('601218', '吉鑫科技', 'jxkj'),
 ('601222', '林洋能源', 'lyny'),
 ('601225', '陕西煤业', 'sxmy'),
 ('601226', '华电重工', 'hdzg'),
 ('601231', '环旭电子', 'hxdz'),
 ('601233', '桐昆股份', 'tkgf'),
 ('601238', '广汽集团', 'gqjt'),
 ('601258', '庞大集团', 'pdjt'),
 ('601288', '农业银行', 'nyyx'),
 ('601311', '骆驼股份', 'ltgf'),
 ('601313', '江南嘉捷', 'jnjj'),
 ('601318', '中国平安', 'zgpa'),
 ('601328', '交通银行', 'jtyx'),
 ('601333', '广深铁路', 'gstl'),
 ('601336', '新华保险', 'xhbx'),
 ('601339', '百隆东方', 'bldf'),
 ('601368', '绿城水务', 'lcsw'),
 ('601369', '陕鼓动力', 'sgdl'),
 ('601377', '兴业证券', 'xyzq'),
 ('601388', '怡球资源', 'yqzy'),
 ('601390', '中国中铁', 'zgzt'),
 ('601398', '工商银行', 'gsyx'),
 ('601515', '东风股份', 'dfgf'),
 ('601518', '吉林高速', 'jlgs'),
 ('601519', '大智慧', 'dzh'),
 ('601555', '东吴证券', 'dwzq'),
 ('601558', '华锐风电', 'hrfd'),
 ('601566', '九牧王', 'jmw'),
 ('601567', '三星医疗', 'sxyl'),
 ('601579', '会稽山', 'hjs'),
 ('601588', '北辰实业', 'bcsy'),
 ('601599', '鹿港科技', 'lgkj'),
 ('601600', '中国铝业', 'zgly'),
 ('601601', '中国太保', 'zgtb'),
 ('601607', '上海医药', 'shyy'),
 ('601608', '中信重工', 'zxzg'),
 ('601616', '广电电气', 'gddq'),
 ('601618', '中国中冶', 'zgzy'),
 ('601628', '中国人寿', 'zgrs'),
 ('601633', '长城汽车', 'zcqc'),
 ('601636', '旗滨集团', 'qbjt'),
 ('601666', '平煤股份', 'pmgf'),
 ('601668', '中国建筑', 'zgjz'),
 ('601669', '中国电建', 'zgdj'),
 ('601677', '明泰铝业', 'mtly'),
 ('601678', '滨化股份', 'bhgf'),
 ('601688', '华泰证券', 'htzq'),
 ('601689', '拓普集团', 'tpjt'),
 ('601699', '潞安环能', 'lahn'),
 ('601700', '风范股份', 'ffgf'),
 ('601717', '郑煤机', 'zmj'),
 ('601718', '际华集团', 'jhjt'),
 ('601727', '上海电气', 'shdq'),
 ('601766', '中国中车', 'zgzc'),
 ('601777', '力帆股份', 'lfgf'),
 ('601788', '光大证券', 'gdzq'),
 ('601789', '宁波建工', 'nbjg'),
 ('601798', '蓝科高新', 'lkgx'),
 ('601799', '星宇股份', 'xygf'),
 ('601800', '中国交建', 'zgjj'),
 ('601801', '皖新传媒', 'wxcm'),
 ('601808', '中海油服', 'zhyf'),
 ('601818', '光大银行', 'gdyx'),
 ('601857', '中国石油', 'zgsy'),
 ('601866', '中海集运', 'zhjy'),
 ('601872', '招商轮船', 'zslc'),
 ('601877', '正泰电器', 'ztdq'),
 ('601880', '大连港', 'dlg'),
 ('601886', '江河创建', 'jhcj'),
 ('601888', '中国国旅', 'zggl'),
 ('601890', '亚星锚链', 'yxml'),
 ('601898', '中煤能源', 'zmny'),
 ('601899', '紫金矿业', 'zjky'),
 ('601901', '方正证券', 'fzzq'),
 ('601908', '京运通', 'jyt'),
 ('601918', '国投新集', 'gtxj'),
 ('601919', '中国远洋', 'zgyy'),
 ('601928', '凤凰传媒', 'fhcm'),
 ('601929', '吉视传媒', 'jscm'),
 ('601933', '永辉超市', 'yhcs'),
 ('601939', '建设银行', 'jsyx'),
 ('601958', '金钼股份', 'jmgf'),
 ('601965', '中国汽研', 'zgqy'),
 ('601968', '宝钢包装', 'bgbz'),
 ('601969', '海南矿业', 'hnky'),
 ('601985', '中国核电', 'zghd'),
 ('601988', '中国银行', 'zgyx'),
 ('601989', '中国重工', 'zgzg'),
 ('601991', '大唐发电', 'dtfd'),
 ('601992', '金隅股份', 'jygf'),
 ('601996', '丰林集团', 'fljt'),
 ('601998', '中信银行', 'zxyx'),
 ('601999', '出版传媒', 'cbcm'),
 ('603000', '人民网', 'rmw'),
 ('603001', '奥康国际', 'akgj'),
 ('603002', '宏昌电子', 'hcdz'),
 ('603003', '龙宇燃油', 'lyry'),
 ('603005', '晶方科技', 'jfkj'),
 ('603006', '联明股份', 'lmgf'),
 ('603008', '喜临门', 'xlm'),
 ('603009', '北特科技', 'btkj'),
 ('603010', '万盛股份', 'wsgf'),
 ('603011', '合锻股份', 'hdgf'),
 ('603012', '创力集团', 'cljt'),
 ('603015', '弘讯科技', 'hxkj'),
 ('603017', '中衡设计', 'zhsj'),
 ('603018', '设计股份', 'sjgf'),
 ('603019', '中科曙光', 'zksg'),
 ('603020', '爱普股份', 'apgf'),
 ('603021', '山东华鹏', 'sdhp'),
 ('603022', '新通联', 'xtl'),
 ('603023', '威帝股份', 'wdgf'),
 ('603025', '大豪科技', 'dhkj'),
 ('603026', '石大胜华', 'sdsh'),
 ('603030', '全筑股份', 'qzgf'),
 ('603066', '音飞储存', 'yfcc'),
 ('603077', '和邦生物', 'hbsw'),
 ('603085', '天成自控', 'tczk'),
 ('603088', '宁波精达', 'nbjd'),
 ('603099', '长白山', 'zbs'),
 ('603100', '川仪股份', 'cygf'),
 ('603108', '润达医疗', 'rdyl'),
 ('603111', '康尼机电', 'knjd'),
 ('603116', '红蜻蜓', 'hqt'),
 ('603117', '万林股份', 'wlgf'),
 ('603118', '共进股份', 'gjgf'),
 ('603123', '翠微股份', 'cwgf'),
 ('603126', '中材节能', 'zcjn'),
 ('603128', '华贸物流', 'hmwl'),
 ('603158', '腾龙股份', 'tlgf'),
 ('603166', '福达股份', 'fdgf'),
 ('603167', '渤海轮渡', 'bhld'),
 ('603168', '莎普爱思', 'spas'),
 ('603169', '兰石重装', 'lszz'),
 ('603188', '亚邦股份', 'ybgf'),
 ('603198', '迎驾贡酒', 'yjgj'),
 ('603199', '九华旅游', 'jhly'),
 ('603222', '济民制药', 'jmzy'),
 ('603223', '恒通股份', 'htgf'),
 ('603227', '雪峰科技', 'xfkj'),
 ('603268', '松发股份', 'sfgf'),
 ('603288', '海天味业', 'htwy'),
 ('603299', '井神股份', 'jsgf'),
 ('603300', '华铁科技', 'htkj'),
 ('603306', '华懋科技', 'hmkj'),
 ('603308', '应流股份', 'ylgf'),
 ('603309', '维力医疗', 'wlyl'),
 ('603311', '金海环境', 'jhhj'),
 ('603315', '福鞍股份', 'fagf'),
 ('603318', '派思股份', 'psgf'),
 ('603328', '依顿电子', 'yddz'),
 ('603333', '明星电缆', 'mxdl'),
 ('603338', '浙江鼎力', 'zjdl'),
 ('603355', '莱克电气', 'lkdq'),
 ('603366', '日出东方', 'rcdf'),
 ('603368', '柳州医药', 'lzyy'),
 ('603369', '今世缘', 'jsy'),
 ('603398', '邦宝益智', 'bbyz'),
 ('603399', '新华龙', 'xhl'),
 ('603456', '九洲药业', 'jzyy'),
 ('603508', '思维列控', 'swlk'),
 ('603518', '维格娜丝', 'wgns'),
 ('603519', '立霸股份', 'lbgf'),
 ('603555', '贵人鸟', 'grn'),
 ('603558', '健盛集团', 'jsjt'),
 ('603566', '普莱柯', 'plk'),
 ('603567', '珍宝岛', 'zbd'),
 ('603568', '伟明环保', 'wmhb'),
 ('603588', '高能环境', 'gnhj'),
 ('603589', '口子窖', 'kzj'),
 ('603598', '引力传媒', 'ylcm'),
 ('603599', '广信股份', 'gxgf'),
 ('603600', '永艺股份', 'yygf'),
 ('603601', '再升科技', 'zskj'),
 ('603606', '东方电缆', 'dfdl'),
 ('603609', '禾丰牧业', 'hfmy'),
 ('603611', '诺力股份', 'nlgf'),
 ('603616', '韩建河山', 'hjhs'),
 ('603618', '杭电股份', 'hdgf'),
 ('603636', '南威软件', 'nwrj'),
 ('603669', '灵康药业', 'lkyy'),
 ('603678', '火炬电子', 'hjdz'),
 ('603686', '龙马环卫', 'lmhw'),
 ('603688', '石英股份', 'sygf'),
 ('603696', '安记食品', 'ajsp'),
 ('603698', '航天工程', 'htgc'),
 ('603699', '纽威股份', 'nwgf'),
 ('603703', '盛洋科技', 'sykj'),
 ('603718', '海利生物', 'hlsw'),
 ('603729', '龙韵股份', 'lygf'),
 ('603766', '隆鑫通用', 'lxty'),
 ('603778', '乾景园林', 'qjyl'),
 ('603788', '宁波高发', 'nbgf'),
 ('603789', '星光农机', 'xgnj'),
 ('603799', '华友钴业', 'hygy'),
 ('603800', '道森股份', 'dsgf'),
 ('603806', '福斯特', 'fst'),
 ('603808', '歌力思', 'gls'),
 ('603818', '曲美家居', 'qmjj'),
 ('603828', '柯利达', 'kld'),
 ('603838', '四通股份', 'stgf'),
 ('603866', '桃李面包', 'tlmb'),
 ('603869', '北部湾旅', 'bbwl'),
 ('603883', '老百姓', 'lbx'),
 ('603885', '吉祥航空', 'jxhk'),
 ('603889', '新澳股份', 'xagf'),
 ('603898', '好莱客', 'hlk'),
 ('603899', '晨光文具', 'cgwj'),
 ('603901', '永创智能', 'yczn'),
 ('603918', '金桥信息', 'jqxx'),
 ('603936', '博敏电子', 'bmdz'),
 ('603939', '益丰药房', 'yfyf'),
 ('603968', '醋化股份', 'chgf'),
 ('603969', '银龙股份', 'ylgf'),
 ('603979', '金诚信', 'jcx'),
 ('603988', '中电电机', 'zddj'),
 ('603989', '艾华集团', 'ahjt'),
 ('603993', '洛阳钼业', 'lymy'),
 ('603996', '中新科技', 'zxkj'),
 ('603997', '继峰股份', 'jfgf'),
 ('603998', '方盛制药', 'fszy'),
 ('603999', '读者传媒', 'dzcm'),
 ('900901', '仪电B股', 'ydBg'),
 ('900902', '市北B股', 'sbBg'),
 ('900903', '大众B股', 'dzBg'),
 ('900904', '神奇B股', 'sqBg'),
 ('900905', '老凤祥B', 'lfxB'),
 ('900906', '中毅达B', 'zydB'),
 ('900907', '鼎立B股', 'dlBg'),
 ('900908', '氯碱B股', 'ljBg'),
 ('900909', '双钱B股', 'sqBg'),
 ('900910', '海立B股', 'hlBg'),
 ('900911', '金桥B股', 'jqBg'),
 ('900912', '外高B股', 'wgBg'),
 ('900913', '国新B股', 'gxBg'),
 ('900914', '锦投B股', 'jtBg'),
 ('900915', '中路B股', 'zlBg'),
 ('900916', '金山B股', 'jsBg'),
 ('900917', '海欣B股', 'hxBg'),
 ('900918', '耀皮B股', 'ypBg'),
 ('900919', '绿庭B股', 'ltBg'),
 ('900920', '上柴B股', 'scBg'),
 ('900921', '丹科B股', 'dkBg'),
 ('900922', '三毛B股', 'smBg'),
 ('900923', '百联B股', 'blBg'),
 ('900924', '上工B股', 'sgBg'),
 ('900925', '机电B股', 'jdBg'),
 ('900926', '宝信B', 'bxB'),
 ('900927', '物贸B股', 'wmBg'),
 ('900928', '临港B股', 'lgBg'),
 ('900929', '锦旅B股', 'jlBg'),
 ('900930', '沪普天B', 'hptB'),
 ('900932', '陆家B股', 'ljBg'),
 ('900933', '华新B股', 'hxBg'),
 ('900934', '锦江B股', 'jjBg'),
 ('900935', '阳晨B股', 'ycBg'),
 ('900936', '鄂资B股', 'ezBg'),
 ('900937', '华电B股', 'hdBg'),
 ('900938', '天海B', 'thB'),
 ('900939', '汇丽B', 'hlB'),
 ('900940', '大名城B', 'dmcB'),
 ('900941', '东信B股', 'dxBg'),
 ('900942', '黄山B股', 'hsBg'),
 ('900943', '开开B股', 'kkBg'),
 ('900945', '海航B股', 'hhBg'),
 ('900946', '天雁B股', 'tyBg'),
 ('900947', '振华B股', 'zhBg'),
 ('900948', '伊泰B股', 'ytBg'),
 ('900950', '新城B股', 'xcBg'),
 ('900951', '大化B股', 'dhBg'),
 ('900952', '锦港B股', 'jgBg'),
 ('900953', '凯马B', 'kmB'),
 ('900955', '九龙山B', 'jlsB'),
 ('900956', '东贝B股', 'dbBg'),
 ('900957', '凌云B股', 'lyBg')]


# 2. get history data
class HistoryInfo():
    def __init__(self, history_data, product, cur_year, cur_month):
        self.history_data = history_data
        self.product = product
        self.cur_year= cur_year
        self.cur_month = cur_month


class ExecuteGet(threading.Thread):
    def __init__(self, obj):
        threading.Thread.__init__(self)
        self.obj = obj

    def run(self):
        while 1:
            self.obj.cond_get.acquire()
            while len(self.obj.stack)==0:
                if self.obj.th_stop==True:
                    self.obj.cond_put.notifyAll()
                    self.obj.cond_get.release()
                    exit(0)

                self.obj.cond_get.wait()
            history_info = self.obj.stack.pop()
            self.obj.cond_put.notifyAll()
            self.obj.cond_get.release()

            self.get_product_history(history_info.history_data, history_info.product, \
                                     history_info.cur_year, history_info.cur_month)

    def get_product_history(self, history_data, product, cur_year, cur_month):
        url_pattern = 'http://money.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/603299.phtml?year=2015&jidu=4'
        headers_str = '''Host: money.finance.sina.com.cn
        User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0
        '''
        headers_list = re.findall(r'(.*?):(.*)', headers_str)
        headers = {}
        for item in headers_list:
            headers[item[0]] = item[1]
        map_month_to_jidu = {
            1 : 1,    2 : 1,    3 : 1,    4 : 2,    5 : 2,    6 : 2,
            7 : 3,    8 : 3,    9 : 3,    10 : 4,   11 : 4,   12 : 4
        }

        for i in range(0, 10):
            # get url
            month = cur_month - 3 * i
            secs = time.mktime((cur_year, month, 1, 0, 0, 0, 0, 0, 0))
            year = time.localtime(secs).tm_year
            jidu = map_month_to_jidu[time.localtime(secs).tm_mon]
            url = re.sub(r'stockid.*4', 'stockid/%s.phtml?year=%d&jidu=%d' % (product, year, jidu), url_pattern)

            url_err = url + "\n"
            sys.stderr.write(url_err)
            # get html
            times = 10
            while times>0:
                try:
                    html = requests.get(url=url, headers=headers, timeout=16)
                    break
                except requests.ConnectionError as e:
                    times -= 1

            if html.encoding == 'ISO-8859-1':
                encodings = requests.utils.get_encodings_from_content(html.text)
                if encodings:
                    html.encoding = encodings[0]
                else:
                    html.encoding = html.apparent_encoding

            # edit data
            soup = BeautifulSoup(html.text, 'html.parser')
            soup = soup.find(id="FundHoldSharesTable")
            if (soup == None):
                continue
            data_text = soup.get_text()
            data_text = re.sub(r'[ \t]+', r'', data_text)
            data_text = re.sub(r'[^\d\.\n-]', r'', data_text)
            data_list = re.findall(r'(\d.*?)\n', data_text)
            if data_list:
                assert data_list[0]==product
                for i in range(1, len(data_list), 7):
                    history_data[product].append((data_list[i], data_list[i+1],
                                                      data_list[i+2], data_list[i+3],
                                                      data_list[i+4], data_list[i+5],
                                                      data_list[i+6]))


class GetProductHistory(object):
    stack = []
    lock = threading.Lock()
    cond_put = threading.Condition(lock)
    cond_get = threading.Condition(lock)
    th = []
    thnum = 8

    def start(self):
        self.th_stop = False
        self.stack = []
        self.th = []
        for i in range(self.thnum):
            th = ExecuteGet(self)
            th.start()
            self.th.append(th)

    def put(self, history_data, product, cur_year, cur_month):
        history_info = HistoryInfo(history_data, product, cur_year, cur_month)
        self.cond_put.acquire()
        while len(self.stack) == self.thnum:
            self.cond_put.wait()
        self.stack.append(history_info)
        self.cond_get.notifyAll()
        self.cond_put.release()

    def stop(self):
        self.th_stop = True
        for th in self.th:
            th.join()



history_data = {}
cur_year = int(time.strftime("%Y"))
cur_month = int(time.strftime("%m"))

get_data = GetProductHistory()
get_data.start()
for item in list_product:
    product = item[0]
    history_data[product] = []

    get_data.put(history_data, product, cur_year, cur_month)

get_data.stop()

for item in list_product:
    product = item[0]
    print(product)
    print(history_data[product])

版权声明:本文为jike080401原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。