예제 #1
0
 def query_stock_industry(code='', date=''):
     rs = bs.query_stock_industry(code, date)
     while BaoStock.retried_num < BaoStock.RETRY_MAX_NUM and rs.error_code != '0':
         sleep(BaoStock.RETRY_DELAY_S)
         rs = bs.query_stock_industry(code, date)
         BaoStock.retried_num += 1
     assert('0' == rs.error_code)
     BaoStock.retried_num = 0
     return BaoStock.rs_to_list(rs)
예제 #2
0
 def query_stock_industry(code='', date=''):
     rs = bs.query_stock_industry(code, date)
     while Stock.retried_num < Stock.RETRY_MAX_NUM and rs.error_code != '0':
         sleep(Stock.RETRY_DELAY_S)
         rs = bs.query_stock_industry(code, date)
         Stock.retried_num += 1
     if '0' == rs.error_code:
         Stock.retried_num = 0
         return Stock.rs_to_list(rs)
예제 #3
0
    def query_stock_industry(code=None, date=None):
        """
        行业分类
        方法说明:通过API接口获取行业分类信息,更新频率:每周一更新。
        返回类型:pandas的DataFrame类型。
        参数含义:
        code:A股股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。可以为空;
        date:查询日期,格式XXXX-XX-XX,为空时默认最新日期。
        """
        lg = bs.login()
        if lg.error_code != '0':
            logger.error('login respond  error_msg:' + lg.error_msg)

        rs = bs.query_stock_industry(code, date)
        if rs.error_code != '0':
            logger.error('query_stock_industry respond  error_msg:' +
                         rs.error_msg)

        industry_list = []
        while (rs.error_code == '0') & rs.next():
            industry_list.append(rs.get_row_data())
        result = pd.DataFrame(industry_list, columns=rs.fields)

        bs.logout()
        return result
예제 #4
0
 def stock_industry(self):
     '''
     Return a DataFrame containing all stock industry data
     戳下面这个链接
     http://baostock.com/baostock/index.php/行业分类
     '''
     return get_data(bs.query_stock_industry())
예제 #5
0
파일: views.py 프로젝트: chydream/pythonWeb
 def get(self, request, *args, **kwargs):
     queryset = SharesCategory.objects.all()
     if len(queryset) <= 0:
         lg = bs.login()
         rs = bs.query_stock_industry()
         # print(rs)
         data_list = []
         while (rs.error_code == '0') & rs.next():
             data_list.append(rs.get_row_data())
         result = pd.DataFrame(data_list, columns=rs.fields)
         result1 = pd.DataFrame(result['industry'])
         result1['count'] = pd.Series(np.random.randint(1, 2, 4061))
         result1['industryClassification'] = result[
             'industryClassification']
         result1 = result1.groupby('industry').sum()
         shares_cate_list = []
         for index, row in result1.iterrows():
             cate_obj = SharesCategory(industry=index,
                                       industryClassification='申万一级行业',
                                       count=row['count'])
             cate_obj.save()
             shares_cate_list.append({
                 'industry': index,
                 'industryClassification': '申万一级行业',
                 'count': float(row['count'])
             })
         bs.logout()
         return JsonResponse(shares_cate_list, safe=False)
     else:
         return JsonResponse([], safe=False)
예제 #6
0
def hangye():
    # 登陆系统
    lg = bs.login()
    # 显示登陆返回信息
    print('login respond error_code:' + lg.error_code)
    print('login respond  error_msg:' + lg.error_msg)

    # 获取行业分类数据
    rs = bs.query_stock_industry()
    # rs = bs.query_stock_basic(code_name="浦发银行")
    print('query_stock_industry error_code:' + rs.error_code)
    print('query_stock_industry respond  error_msg:' + rs.error_msg)

    # 打印结果集
    industry_list = []
    while (rs.error_code == '0') & rs.next():
        # 获取一条记录,将记录合并在一起
        industry_list.append(rs.get_row_data())
    result = pd.DataFrame(industry_list, columns=rs.fields)
    # 结果集输出到csv文件
    result.to_csv("C:\\gupiao\\行业分类.csv", encoding="gbk", index=False)
    print(result)

    # 登出系统
    bs.logout()
예제 #7
0
def create_stock_industry():
    """
    BS-创建行业分类
    """
    # 登陆系统
    lg = bs.login()
    # 显示登陆返回信息
    print('login respond error_code:' + lg.error_code)
    print('login respond  error_msg:' + lg.error_msg)

    # 获取行业分类数据
    rs = bs.query_stock_industry()
    print('query_stock_industry error_code:' + rs.error_code)
    print('query_stock_industry respond  error_msg:' + rs.error_msg)

    # 打印结果集
    industry_list = []
    while (rs.error_code == '0') & rs.next():
        # 获取一条记录,将记录合并在一起
        industry_list.append(rs.get_row_data())
    result = pd.DataFrame(industry_list, columns=rs.fields)

    dtype = {
        'updateDate': String(10),
        'code': String(9),
        'code_name': String(10),
        'industry': String(4),
        'industryClassification': String(6)
    }

    result.to_sql('odl_bs_stock_industry', engine, schema=CQ_Config.DB_SCHEMA, if_exists='replace', index=False, dtype=dtype)

    # 登出系统
    bs.logout()
예제 #8
0
 def bao_query_stock_industry() -> pd.DataFrame:
     """
     获取行业分类信息
     :return:
     """
     df = bao.query_stock_industry().get_data()
     df['code'] = df['code'].apply(lambda x: ts_code(x))
     df.set_index(keys='code', drop=False, inplace=True)
     return df
예제 #9
0
def get_stock_industry():
    rs = BS.query_stock_industry()
    industry_list = []
    while (rs.error_code == '0') & rs.next():
        industry_list.append(rs.get_row_data())
    result = PD.DataFrame(industry_list, columns=rs.fields)

    print(result)
    return result
예제 #10
0
def queryStockIndustry(code,date=''):
    rs = bs.query_stock_industry(code=code,date=date)
    # 打印结果集
    industry_list = []
    while (rs.error_code == '0') & rs.next():
        # 获取一条记录,将记录合并在一起
        industry_list.append(rs.get_row_data())
    result = pd.DataFrame(industry_list, columns=rs.fields)
    return result
예제 #11
0
def list_stocks():
    bs.login()
    global g_codes
    rs = bs.query_stock_industry()
    industry_list = []
    while (rs.error_code == '0') & rs.next():
        industry_list.append(rs.get_row_data())
    df_codes = pd.DataFrame(industry_list, columns=rs.fields)
    df_codes.to_csv('./codes.csv', encoding='utf-8', index=False)
    bs.logout()
    return df_codes
예제 #12
0
    def get_hangye_info(self):
        # 获取行业分类数据
        rs = bs.query_stock_industry()
        print('query_stock_industry error_code:' + rs.error_code)
        print('query_stock_industry respond  error_msg:' + rs.error_msg)

        # 打印结果集
        industry_list = []
        while (rs.error_code == '0') & rs.next():
            # 获取一条记录,将记录合并在一起
            industry_list.append(rs.get_row_data())
        result2 = pd.DataFrame(industry_list, columns=rs.fields)
        return result2
예제 #13
0
    def query_stock_industry(self,code = None, date = None):
        '''
        code:A股股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。可以为空;
        date:查询日期,格式XXXX-XX-XX,为空时默认最新日期。
        '''
        rs = bs.query_stock_industry(code = code, date = date)
        self.log('query_stock_industry respond  error_msg:', rs)

        industry_list = []
        while (rs.error_code == '0') & rs.next():
            # 获取一条记录,将记录合并在一起
            industry_list.append(rs.get_row_data())
        result = pd.DataFrame(industry_list, columns=rs.fields)
        return result
예제 #14
0
def updateIndustry(conn, date):
    data_df = pd.DataFrame()
    codes = comm.getAllCode(conn)
    for item in tqdm(codes, desc='拉取行业分类'):
        code = item[0]
        name = item[1]
        rs = bs.query_stock_industry(code)
        data_df = data_df.append(rs.get_data())
    pbar = tqdm(total=data_df.shape[0], desc='行业分类入库中')
    for i, row in data_df.iterrows():
        k = comm.list2lower(row.index.tolist())
        v = row.values.tolist()
        comm.upsertRow(conn, 'stock_industry', k, v, 'code')
        pbar.update(1)
예제 #15
0
def bs_save_stock_industry():
    '''
    获取行业信息
    :return:
    '''
    bs.login()
    rs = bs.query_stock_industry()
    industry_list = []
    while (rs.error_code == '0') & rs.next():
        industry_list.append(rs.get_row_data())
    engine = create_engine(
        'mysql+pymysql://root:root@localhost:3306/stock_quant?charset=utf8')
    result = pd.DataFrame(industry_list, columns=rs.fields)
    result.to_sql('bs_stock_industry', engine, index=True)
    bs.logout()
예제 #16
0
def download_industry(date):
    rs = bs.query_stock_industry('', date)
    industry_list = []
    while (rs.error_code == '0') & rs.next():
        industry_list.append(rs.get_row_data())
    connect = pymssql.connect('localhost', 'sa', '12345', 'astock')  # 建立连接
    cursor = connect.cursor()  # 创建一个游标对象,python里的sql语句都要通过cursor来执行
    for industry in industry_list:
        sql = 'if not exists (select *from all_stocks where code =\'%s\') insert into all_stocks(updateDate,code,code_name,industry,industryClassification) values (\'%s\',\'%s\',\'%s\',\'%s\',\'%s\') ' % (
            industry[1], industry[0], industry[1], industry[2], industry[3],
            industry[4])
        # print(sql)
        cursor.execute(sql)
    connect.commit()
    cursor.close()
    connect.close()
예제 #17
0
    def get_basic_code_info(self, kechuang=False):

        rs = bs.query_stock_basic()
        print('query_stock_basic respond  error_msg:' + rs.error_msg)
        # 打印结果集
        data_list = []
        while (rs.error_code == '0') & rs.next():
            # 获取一条记录,将记录合并在一起
            data_list.append(rs.get_row_data())
        result = pd.DataFrame(data_list, columns=rs.fields)
        # 结果集输出到csv文件
        # result.to_csv("D:/stock_basic.csv", encoding="gbk", index=False)
        result['only_code'] = result['code'].str.lower().str.split('.').str[1]
        result_stock = result[result['type'] == '1']
        if kechuang:
            pass
        else:
            result_stock = result_stock[(result_stock['only_code'].str[:2] !=
                                         '30')]
        # result_stock[('st' not in  result_stock['code_name'].str.lower() )]
        # result_stock['code_name']=result_stock['code_name'].str.lower()
        # result_stock['st股'] = result_stock['code_name'].apply(lambda x: True if 'st' in str(x) else False )
        # print(result_stock[result_stock['st股'] == False])
        # result[((result['code'].str[:2] == 'sh')&(result['only_code'].str[:2] == '60'))|((result['code'].str[:2] == 'sz')&(result['only_code'].str[:2] == '00'))])
        result_stock.reset_index(drop=True, inplace=True)

        # 获取行业分类数据
        rs = bs.query_stock_industry()
        print('query_stock_industry error_code:' + rs.error_code)
        print('query_stock_industry respond  error_msg:' + rs.error_msg)

        # 打印结果集
        industry_list = []
        while (rs.error_code == '0') & rs.next():
            # 获取一条记录,将记录合并在一起
            industry_list.append(rs.get_row_data())
        result2 = pd.DataFrame(industry_list, columns=rs.fields)

        result = pd.merge(
            result_stock,
            result2[['code', 'industry', 'industryClassification']],
            how='left',
            on=['code'])
        # print(result.keys())
        # exit()

        return result
예제 #18
0
def get_stock_industry(code=None, date=None):
    # 获取行业分类数据
    rs = bs.query_stock_industry(code=code, date=date)
    # rs = bs.query_stock_basic(code_name="浦发银行")
    if rs.error_code != '0':
        print('query_stock_industry respond error_code::' + rs.error_msg)
        login()
        return get_stock_industry(code, date)

    # 打印结果集
    industry_list = []
    while (rs.error_code == '0') & rs.next():
        # 获取一条记录,将记录合并在一起
        industry_list.append(rs.get_row_data())
    result = pd.DataFrame(industry_list, columns=rs.fields)
    # 结果集输出到csv文件
    return result
예제 #19
0
파일: api.py 프로젝트: qiudongwei/stock-api
 def dispatch_request(self):
     post_data = request.get_json()
     code = post_data.get('code', '')
     date = post_data.get('date', '')
     attr_fields = post_data.get('attr_fields', None)
     rs = bs.query_stock_industry(code=code, date=date)
     industry_list = []
     while (rs.error_code == '0') & rs.next():
         industry_list.append(rs.get_row_data())
     fields = ['updateDate', 'code', 'code_name', 'industry', 'industryClassification']
     data = jsonWrapper(industry_list, fields)
     result = {
       'code': 200 if rs.error_code == '0' else rs.error_code,
       'data': list(map(lambda x: { attr: x.get(attr, '') for attr in attr_fields }, data)) if attr_fields else data,
       'msg': rs.error_msg
     }
     self.logout()
     return jsonify(result)
예제 #20
0
def get_hangye():
    """
    获取行业信息,返回字典 {code: bkname, ...}
    :return:
    """
    rs = bs.query_stock_industry()
    data_list = []
    while (rs.error_code == '0') & rs.next():
        d = {}
        r = rs.get_row_data()
        for k_i in range(len(r)):
            d[rs.fields[k_i]] = r[k_i]
        w = {}
        w['code'] = d['code'][3:]
        w['name'] = d['code_name']
        w['hangye'] = d['industry']
        data_list.append(w)
    return data_list
예제 #21
0
def download_all_k_line_data(date):
    print(date)
    connect = pymssql.connect('localhost', 'sa', '12345', 'astock')
    cursor = connect.cursor()
    delsql = 'delete day_k_line where date= \'%s\'' % (date)
    print(delsql)
    cursor.execute(delsql)
    connect.commit()
    cursor.close()
    connect.close()

    rs = bs.query_stock_industry('', date)
    industry_list = []
    while (rs.error_code == '0') & rs.next():
        industry_list.append(rs.get_row_data())
    # #需要借助行业代码循环
    for industry in industry_list:
        download_k_line_data(industry[1], date)
예제 #22
0
 def save_stock_classify_info(self):
     rs = bs.query_stock_industry()
     print('query_history_k_data_plus respond error_code:' + rs.error_code)
     print('query_history_k_data_plus respond  error_msg:' + rs.error_msg)
     industry_list = []
     while (rs.error_code == '0') & rs.next():
         # 获取一条记录,将记录合并在一起
         industry_list.append(rs.get_row_data())
     i = 0
     with open('stock_list_simple.txt', 'w') as fd:
         for _ in industry_list:
             fd.write(_[1] + '\n')
             i = i + 1
     print("Write done!!", i)
     classify_result = self.make_classify_info(industry_list)
     result = pd.DataFrame(industry_list, columns=rs.fields)
     result.to_csv("stock_industry.csv", index=False)
     return classify_result
예제 #23
0
def inportIndustryData(name='tb_today_industry', code=None, date=None):
    configger.init()
    # 显示登陆返回信息

    # 结果集输出到csv文件

    con = configger.engine
    try:
        sql = configger.lastOperateTimeSql.format(name)
        lastTime = pd.read_sql(sql=sql, con=con).iloc[0, 0]
        print(lastTime)
    except:
        print('没有操作数据')
    if (lastTime == None):
        lastTime = pd.to_datetime('1990-1-1 00:00:00')

    if (needUpdate(lastTime, datetime.now(), True) == True):
        lg = bs.login()
        # 获取行业分类数据
        rs = bs.query_stock_industry()

        # rs = bs.query_stock_basic(code_name="浦发银行")

        # 打印结果集
        industry_list = []
        while (rs.error_code == '0') & rs.next():
            # 获取一条记录,将记录合并在一起
            industry_list.append(rs.get_row_data())
        result = pd.DataFrame(industry_list, columns=rs.fields)
        result['date'] = datetime.now().date()

        result.to_sql(name=name, con=con, if_exists='append', index=False)
        bs.logout()
        operation = pd.DataFrame()
        operation.loc[0, 'name'] = name
        operation.loc[0, 'updateTime'] = datetime.now().date()
        operation.to_sql(name='tb_operation_time',
                         con=con,
                         if_exists='append',
                         index=False)
        print('industry_data_import_ok')
    else:
        print('无需插入')
예제 #24
0
def get_stock_industry(stock_code):
    # 登陆系统
    lg = bs.login()
    # 显示登陆返回信息
    print('login respond error_code:' + lg.error_code)
    print('login respond  error_msg:' + lg.error_msg)

    # 获取证券基本资料
    rs = bs.query_stock_industry(code=stock_code)
    # rs = bs.query_stock_basic(code_name="浦发银行")  # 支持模糊查询
    print('query_stock_industry respond error_code:' + rs.error_code)
    print('query_stock_industry respond  error_msg:' + rs.error_msg)

    # 打印结果集
    data_list = []
    while (rs.error_code == '0') & rs.next():
        # 获取一条记录,将记录合并在一起
        data_list.append(rs.get_row_data())
    result = pd.DataFrame(data_list, columns=rs.fields)
    bs.logout()
    return result
예제 #25
0
def get_all_stock_industries():
    lg = bs.login()
    print('login respond error_code:' + lg.error_code)
    print('login respond  error_msg:' + lg.error_msg)

    # 获取行业分类数据
    rs = bs.query_stock_industry(date='2020-08-01')
    # rs = bs.query_stock_basic(code_name="浦发银行")
    print('query_stock_industry error_code:' + rs.error_code)
    print('query_stock_industry respond  error_msg:' + rs.error_msg)

    # 打印结果集
    industry_list = []
    while (rs.error_code == '0') & rs.next():
        # 获取一条记录,将记录合并在一起
        industry_list.append(rs.get_row_data())
    result = pd.DataFrame(industry_list, columns=rs.fields)
    # 结果集输出到csv文件
    result.to_csv(ConfigUtils.get_stock("STOCK_INDUSTRY"), index=False)
    print(result)
    # 登出系统
    bs.logout()
예제 #26
0
def UpdateIndustryData(code='', date=''):
    # 登陆系统
    lg = bs.login()
    # 显示登陆返回信息
    # 获取行业分类数据
    rs = bs.query_stock_industry(code, date)
    # rs = bs.query_stock_basic(code_name="浦发银行")
    needUpdate = tableNeedUpdate('tb_industry_information')
    print(needUpdate)
    if (needUpdate == True):
        # 打印结果集
        industry_list = []
        while (rs.error_code == '0') & rs.next():
            # 获取一条记录,将记录合并在一起
            industry_list.append(rs.get_row_data())
        result = pd.DataFrame(industry_list, columns=rs.fields)
        # 结果集输出到csv文件
        # result.to_csv("D:/stock_industry.csv", encoding="gbk", index=False)
        result.rename(columns={
            'code_name': '名称',
            'industry': '行业',
            'industryClassification': '所属行业类别'
        },
                      inplace=True)
        # 登出系统
        bs.logout()

        print(result)
        try:
            result.to_sql(name='tb_industry_information',
                          con=configger.engine,
                          if_exists='append',
                          index=False)
            saveOperationTime('tb_industry_information')
        except:
            print('industry 更新失败')
        return result
    return pd.DataFrame()
예제 #27
0
파일: views.py 프로젝트: chydream/pythonWeb
 def get(self, request, *args, **kwargs):
     queryset = Shares.objects.all()
     if len(queryset) <= 0:
         lg = bs.login()
         rs = bs.query_stock_industry()
         data_list = []
         shares_list = []
         while (rs.error_code == '0') and rs.next():
             data_list.append(rs.get_row_data())
         for index, item in enumerate(data_list):
             shares_obj = Shares(code=item[1],
                                 code_name=item[2],
                                 industry=item[3])
             shares_obj.save()
             shares_list.append(({
                 'code': item[1],
                 'code_name': item[2],
                 'industry': item[3]
             }))
         bs.logout()
         return JsonResponse(shares_list, safe=False)
     else:
         return JsonResponse([], safe=False)
예제 #28
0
def basic_mian():
    info = request.values.get("data")
    stocknumber = tostockcode(info)
    stock_code = stocknumber[0:2] + '.' + stocknumber[2:]
    startdate = time.strftime('%Y-%m-%d',
                              time.localtime(time.time() -
                                             20 * 24 * 60 * 60))  #获取近20天的那些率
    enddate = time.strftime('%Y-%m-%d', time.localtime(time.time()))
    # 登陆系统
    lg = bs.login()
    rs2 = bs.query_history_k_data_plus(
        stock_code,
        "date,code,close,peTTM,pbMRQ,psTTM,pcfNcfTTM",
        start_date=startdate,
        end_date=enddate,
        frequency="d",
        adjustflag="3")
    list2 = []
    while (rs2.error_code == '0') & rs2.next():
        # 获取一条记录,将记录合并在一起
        list2.append(rs2.get_row_data())
    result2 = pd.DataFrame(list2, columns=rs2.fields)
    peTTM = result2[['peTTM']]  #每天的滚动市盈率
    psTTM = result2[['psTTM']]  # 每天的滚动市销率
    pcfNcfTTM = result2[['pcfNcfTTM']]  # 每天的滚动市现率
    pbMRQ = result2[['pbMRQ']]  #每天的滚动市净率
    ###获取行业分类数据
    rs3 = bs.query_stock_industry(code=stock_code)
    list3 = []
    while (rs3.error_code == '0') & rs3.next():
        # 获取一条记录,将记录合并在一起
        list3.append(rs3.get_row_data())
    result3 = pd.DataFrame(list3, columns=rs3.fields)
    hangye = result3
    ####添加
    #industryinfo=getindustry(str(np.array(hangye)[0,3]))
    stockinfo = getstock(stocknumber)
    # 登出系统
    bs.logout()

    dic = {
        'peTTM': [],
        'psTTM': [],
        'pcfNcfTTM': [],
        'pbMRQ': [],
        'hangye': [],
        'stockinfo': {}
    }
    dic['peTTM'] = np.array(peTTM).reshape(1, len(np.array(peTTM))).tolist()[0]
    dic['peTTM'] = list(
        map(lambda x: eval('%.4f' % x),
            map(eval, dic['peTTM'])))  #list(map(eval, dic['peTTM']))
    dic['psTTM'] = np.array(psTTM).reshape(1, len(np.array(psTTM))).tolist()[0]
    dic['psTTM'] = list(
        map(lambda x: eval('%.4f' % x),
            map(eval, dic['psTTM'])))  #list(map(eval, dic['psTTM']))
    dic['pcfNcfTTM'] = np.array(pcfNcfTTM).reshape(1, len(
        np.array(pcfNcfTTM))).tolist()[0]
    dic['pcfNcfTTM'] = list(
        map(lambda x: eval('%.4f' % x),
            map(eval, dic['pcfNcfTTM'])))  #list(map(eval, dic['pcfNcfTTM']))
    dic['pbMRQ'] = np.array(pbMRQ).reshape(1, len(np.array(pbMRQ))).tolist()[0]
    dic['pbMRQ'] = list(
        map(lambda x: eval('%.4f' % x),
            map(eval, dic['pbMRQ'])))  #list(map(eval, dic['pbMRQ']))
    dic['hangye'] = np.array(hangye).tolist()[0]

    dic['stockinfo'] = np.array(stockinfo).tolist()
    dic['stockinfo']['price'] = float(dic['stockinfo']['price'])
    dic['stockinfo']['changePercent'] = float(
        dic['stockinfo']['changePercent'])
    dic['stockinfo']['volume'] = float(dic['stockinfo']['volume'])
    dic['stockinfo']['turnover'] = float(dic['stockinfo']['turnover'])
    return json.dumps(dic, ensure_ascii=False)
예제 #29
0
# 王琰的python编写
# 开发时间:2021/5/15 16:34
import baostock as bs
import pandas as pd

# 登陆系统
lg = bs.login()
# 显示登陆返回信息
print('login respond error_code:' + lg.error_code)
print('login respond  error_msg:' + lg.error_msg)

# 获取行业分类数据
rs = bs.query_stock_industry()
# rs = bs.query_stock_basic(code_name="浦发银行")
print('query_stock_industry error_code:' + rs.error_code)
print('query_stock_industry respond  error_msg:' + rs.error_msg)

# 打印结果集
industry_list = []
while (rs.error_code == '0') & rs.next():
    # 获取一条记录,将记录合并在一起
    industry_list.append(rs.get_row_data())
result = pd.DataFrame(industry_list, columns=rs.fields)
# 结果集输出到csv文件
result.to_csv("D:/stock_industry.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()
예제 #30
0
 def get_stock_industry(self, code):
     result = baostock.query_stock_industry(code).get_row_data()
     industry = result[3]
     return industry