示例#1
0
def getStockCurrentDay(code, Market):
    '''
    获取股票当日数据
    腾讯API
    API地址:http://qt.gtimg.cn/q=sh600383
    sh:上海
    sz:深圳
    返回当天成交数据
    code:股票代码
    market:股票市场
    数据返回@return dict
    '''
    if code and Market:
        url = 'http://qt.gtimg.cn/q=%s%s' % (Market, code)
        headers = {'Content-type': 'application/x-javascript; charset=GBK'}
        result = httpGetContent(url=url, headers=headers, charset='gbk')
        if result:
            stocklist = _get_content(result)
            if stocklist:
                stockdict = {}
                stockdict['code'] = code  # 股票代码
                stockdict['name'] = unicode(stocklist[1], 'utf8')  # 股票名称
                stockdict['last_closing'] = float(stocklist[4])  # 昨日收盘价格
                stockdict['start'] = float(stocklist[5])  # 开盘价格
                stockdict['end'] = float(stocklist[3])  # 当前收盘价格(可以是当前价格)
                stockdict['high'] = float(stocklist[33])  # 最高价格
                stockdict['low'] = float(stocklist[34])  # 最低价格
                stockdict['buyvol'] = int(stocklist[7])  # 外盘 todo 数据对不上
                stockdict["sellvol"] = int(stocklist[8])  # 内盘 todo 数据对不上

                stockdict['range_price'] = float(stocklist[31])  # 涨跌价格
                stockdict['range_percent'] = float(stocklist[32])  # 涨跌比%

                stockdict['volume'] = int(stocklist[6])  # 成交量(手)
                stockdict['total_price'] = int(stocklist[37])  # 成交额(万元)
                stockdict['change_rate'] = decimal(stocklist[38])  # 换手率
                stockdict['pe'] = decimal(stocklist[39])  # 市盈率
                stockdict['swing'] = float(stocklist[43])  # 振幅

                stockdict['pb'] = float(stocklist[46])  # 股票市净率
                stockdict['date'] = stocklist[30][:8]  # 时间
                stockdict[
                    "block"] = False if stockdict["start"] else True  #股票是否停牌
                return stockdict
示例#2
0
def getStockCurrentDay(code, Market):
    '''
    获取股票当日数据
    腾讯API
    API地址:http://qt.gtimg.cn/q=sh600383
    sh:上海
    sz:深圳
    返回当天成交数据
    code:股票代码
    market:股票市场
    数据返回@return dict
    '''
    if code and Market:
        url = 'http://qt.gtimg.cn/q=%s%s' % (Market, code)
        headers = {'Content-type': 'application/x-javascript; charset=GBK'}
        result = httpGetContent(url=url, headers=headers, charset='gbk')
        if result:
            stocklist = _get_content(result)
            if stocklist:
                stockdict = {}
                stockdict['code'] = code                           # 股票代码
                stockdict['name'] = unicode(stocklist[1], 'utf8')  # 股票名称
                stockdict['last_closing'] = float(stocklist[4])    # 昨日收盘价格
                stockdict['start'] = float(stocklist[5])           # 开盘价格
                stockdict['end'] = float(stocklist[3])             # 当前收盘价格(可以是当前价格)
                stockdict['high'] = float(stocklist[33])           # 最高价格
                stockdict['low'] = float(stocklist[34])            # 最低价格
                stockdict['buyvol'] = int(stocklist[7])             # 外盘 todo 数据对不上
                stockdict["sellvol"] = int(stocklist[8])           # 内盘 todo 数据对不上

                stockdict['range_price'] = float(stocklist[31])    # 涨跌价格
                stockdict['range_percent'] = float(stocklist[32])  # 涨跌比%

                stockdict['volume'] = int(stocklist[6])            # 成交量(手)
                stockdict['total_price'] = int(stocklist[37])      # 成交额(万元)
                stockdict['change_rate'] = decimal(stocklist[38]) # 换手率
                stockdict['pe'] = decimal(stocklist[39])          # 市盈率
                stockdict['swing'] = float(stocklist[43])           # 振幅

                stockdict['pb'] = float(stocklist[46])              # 股票市净率
                stockdict['date'] = stocklist[30][:8]               # 时间
                stockdict["block"] = False if stockdict["start"] else True #股票是否停牌
                return stockdict
示例#3
0
def stock_finical_post():
    """抓取同花顺业绩公告板块
    http://data.10jqka.com.cn/financial/yjgg/
    http://data.10jqka.com.cn/financial/yjgg/page/56/ajax/1/
    """
    headers = {
        "Host": "data.10jqka.com.cn",
        "Referer": "http://data.10jqka.com.cn/financial/yjyg/",
        "X-Requested-With": "XMLHttpRequest"
    }
    count = range(1, 60)
    urls = [
        "http://data.10jqka.com.cn/financial/yjgg/page/%s/ajax/1/" % num
        for num in count
    ]
    for url in urls:
        content = httpGetContent(url, headers, "gb2312")
        if content:
            soup = BeautifulSoup(content)
            stock_item = soup.select("tbody > tr")
            for item in stock_item:
                tds = item.select('td')
                stock_dict = {}
                for i, td in enumerate(tds):
                    if i == 1:  # 代码
                        stock_dict["code"] = td.select('a')[0].string
                    elif i == 3:  # 日期
                        stock_dict["date"] = str_to_date(td.string, "%Y-%m-%d")
                    elif i == 4:  # 每股收益
                        stock_dict["earnings"] = decimal(td.string)
                    elif i == 5:  # 营业收入
                        stock_dict["main_income"] = decimal(td.string)
                    elif i == 6:  # 营业收入同比增长%
                        stock_dict["income_rise"] = validate_decimal(td.string)
                    elif i == 7:  # 净利润 万元
                        stock_dict["net_profit"] = decimal(td.string)
                    elif i == 8:  #净利润同比增长%
                        stock_dict["net_profit_rise"] = validate_decimal(
                            td.string)
                yield stock_dict
示例#4
0
def stock_finical_post():
    """抓取同花顺业绩公告板块
    http://data.10jqka.com.cn/financial/yjgg/
    http://data.10jqka.com.cn/financial/yjgg/page/56/ajax/1/
    """
    headers = {
        "Host": "data.10jqka.com.cn",
        "Referer": "http://data.10jqka.com.cn/financial/yjyg/",
        "X-Requested-With": "XMLHttpRequest"
    }
    count = range(1, 60)
    urls = ["http://data.10jqka.com.cn/financial/yjgg/page/%s/ajax/1/" % num for num in count]
    for url in urls:
        content = httpGetContent(url, headers, "gb2312")
        if content:
            soup = BeautifulSoup(content)
            stock_item = soup.select("tbody > tr")
            for item in stock_item:
                tds = item.select('td')
                stock_dict = {}
                for i, td in enumerate(tds):
                    if i == 1:   # 代码
                        stock_dict["code"] = td.select('a')[0].string
                    elif i == 3: # 日期
                        stock_dict["date"] = str_to_date(td.string, "%Y-%m-%d")
                    elif i == 4: # 每股收益
                        stock_dict["earnings"] = decimal(td.string)
                    elif i == 5: # 营业收入
                        stock_dict["main_income"] = decimal(td.string)
                    elif i == 6: # 营业收入同比增长%
                        stock_dict["income_rise"] = validate_decimal(td.string)
                    elif i == 7: # 净利润 万元
                        stock_dict["net_profit"] = decimal(td.string)
                    elif i == 8: #净利润同比增长%
                        stock_dict["net_profit_rise"] = validate_decimal(td.string)
                yield stock_dict
示例#5
0
def stock_finical_quarter(code):
    """
    通过同花顺行业数据得到数据报告信息。
    指标\日期	  基本每股收益	摊薄每股收益	每股净资产	每股现金流	每股未分配利润	每股公积金	主营收入	 利润总额	     净利润	 净资产收益率	销售毛利率	主营收入同比增长率	净利润同比增长率
    2013-3-31	0.04	      0.04	       5.33	      -0.68	       2.66	          1.37	    425230.9 37821.37	18722.95	0.79	26.43	143.93	19.68
    http://basic.10jqka.com.cn/600383/xls/Important_declaredate.xls"
    """
    url = "http://basic.10jqka.com.cn/%s/xls/Important_declaredate.xls" % (
        code)
    content = httpGetContent(url)
    stock_dict = {}
    if content:
        content = content.decode('gb2312').encode('utf8')
        data = cStringIO.StringIO(content)
        for i, line in enumerate(data):
            if i == 1:
                item = line.strip('\n').split('\t')
                date = str_to_date(item[0], "%Y-%m-%d")  # 日期
                earnings = decimal(item[2])  # 摊薄每股收益(数据相对准确)不以基本每股收益为准 0.04
                net_asset_value = decimal(item[3])  # 每股净资产 5.33
                cash_flow = decimal(item[4])  # 每股现金流 -0.86
                profit_per_share = decimal(item[5])  # 每股未分配利润
                capital_fund = decimal(item[6])  # 每股公积金
                main_income = decimal(item[7])  # 主营业收入
                total_profit = decimal(item[8])  # 利润总额
                total_net_profit = decimal(item[9])  # 净利润
                return_on_asserts = decimal(item[10])  # 净资产收益率 0.79%
                income_rise = decimal(item[12])  # 主营业收入同比增长率 143.93%
                net_profit_rise = decimal(item[13])  # 净利润同比增长率 19.68%
                stock_dict = {
                    "code": code,
                    "date": date,
                    "earnings": earnings,
                    "net_asset_value": net_asset_value,
                    "cash_flow": cash_flow,
                    "return_on_asserts": return_on_asserts,
                    "income_rise": income_rise,
                    "net_profit_rise": net_profit_rise,
                    "profit_per_share": profit_per_share,
                    "capital_fund": capital_fund,
                    "main_income": main_income,
                    "total_profit": total_profit,
                    "total_net_profit": total_net_profit
                }
                break
    return stock_dict
示例#6
0
def stock_finical_quarter(code):
    """
    通过同花顺行业数据得到数据报告信息。
    指标\日期	  基本每股收益	摊薄每股收益	每股净资产	每股现金流	每股未分配利润	每股公积金	主营收入	 利润总额	     净利润	 净资产收益率	销售毛利率	主营收入同比增长率	净利润同比增长率
    2013-3-31	0.04	      0.04	       5.33	      -0.68	       2.66	          1.37	    425230.9 37821.37	18722.95	0.79	26.43	143.93	19.68
    http://basic.10jqka.com.cn/600383/xls/Important_declaredate.xls"
    """
    url = "http://basic.10jqka.com.cn/%s/xls/Important_declaredate.xls" % (code)
    content = httpGetContent(url)
    stock_dict = {}
    if content:
        content = content.decode('gb2312').encode('utf8')
        data = cStringIO.StringIO(content)
        for i, line in enumerate(data):
            if i == 1:
                item = line.strip('\n').split('\t')
                date = str_to_date(item[0], "%Y-%m-%d")   # 日期
                earnings = decimal(item[2])               # 摊薄每股收益(数据相对准确)不以基本每股收益为准 0.04
                net_asset_value = decimal(item[3])        # 每股净资产 5.33
                cash_flow = decimal(item[4])              # 每股现金流 -0.86
                profit_per_share = decimal(item[5])       # 每股未分配利润
                capital_fund = decimal(item[6])           # 每股公积金
                main_income = decimal(item[7])            # 主营业收入
                total_profit = decimal(item[8])           # 利润总额
                total_net_profit = decimal(item[9])       # 净利润
                return_on_asserts = decimal(item[10])     # 净资产收益率 0.79%
                income_rise = decimal(item[12])           # 主营业收入同比增长率 143.93%
                net_profit_rise = decimal(item[13])       # 净利润同比增长率 19.68%
                stock_dict = {
                    "code": code,
                    "date": date,
                    "earnings": earnings,
                    "net_asset_value": net_asset_value,
                    "cash_flow": cash_flow,
                    "return_on_asserts": return_on_asserts,
                    "income_rise": income_rise,
                    "net_profit_rise": net_profit_rise,
                    "profit_per_share": profit_per_share,
                    "capital_fund": capital_fund,
                    "main_income": main_income,
                    "total_profit": total_profit,
                    "total_net_profit": total_net_profit
                }
                break
    return stock_dict