Home >Backend Development >Python Tutorial >Python gets current data based on stock code

Python gets current data based on stock code

大家讲道理
大家讲道理Original
2016-11-09 11:16:531769browse

If you open a stock website through a browser during working hours, you may be afraid of being seen by others. It doesn't matter. Just try executing the code on the command line to see the data.
Enter sh to view the Shanghai Composite Index
Enter sz to view the Shenzhen Index
Enter cyb to view the GEM Index
Other stock codes can be customized and added to the dictionary

Python version 2.7 .3

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import re
import datetime
 
def getStockInfo(url):
    """根据url获取信息"""
    stockList = []
    request = urllib2.Request(url)
    response = urllib2.urlopen(request)
 
    stockStr = response.read()
    stockList = stockStr.split(',')
    return stockList
 
def printStock(List):
    """打印相关信息"""
    print '***********price*****************' + List[1]
    print '***********float_price***********' + List[2]
    print '***********float_perct***********' + List[3] + '%'
    print '***********succ_unit*************' + List[4]+' shou'
    print '***********succ_price************' + List[5]
 
def getUrlByCode(code):
    """根据代码获取详细的url"""
    url = ''
    stockCode = ''
    if code == 'sh':
        url = 'http://hq.sinajs.cn/list=s_sh000001'
    elif code == 'sz':
        url = 'http://hq.sinajs.cn/list=s_sz399001'
    elif code == 'cyb':
        url = 'http://hq.sinajs.cn/list=s_sz399006'
    else:
        pattern = re.compile(r'^60*')
        match = pattern.match(code)
        if match:
            stockCode = 'sh'+ code
        else:
            stockCode = 'sz' + code
        url = 'http://hq.sinajs.cn/list=s_'+stockCode
 
    return url
 
 
#输入stock代码输出对应的价格信息
#code = raw_input('code: ')
codeDict = {
    'sh'     : 'shang hai zq',
    'sz'     : 'shen zheng zq',
    'cyb'    : 'chang ye ban',
    '601788' : 'guang da zheng quan',
    '000651' : 'ge li dian qi',
}
 
#http://hq.sinajs.cn/list=s_sh000001 (上海大盘查询)
#http://hq.sinajs.cn/list=s_sz399001 (深圳大盘查询)
 
count = 0;
while (count<=100):#循环100次后再退出
    # 循环字典
    for key in codeDict:
        print key + &#39;--&#39;+codeDict[key]
 
    code = raw_input(&#39;please select a code: &#39;)
    now_time = datetime.datetime.now()
 
    #打印该code的信息
    url = getUrlByCode(code)
    stockInfo = getStockInfo(url)
    #print stockInfo
    printStock(stockInfo)
 
    end_time = datetime.datetime.now()
    costTime =  (end_time - now_time).seconds
    print &#39;总共花费时间&#39;+str(costTime)+&#39;秒&#39;
    count +=1


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn