Python_使用同花顺问财接口

安装nodejs,版本大于16
node版本地址:https://nodejs.org/dist/
安装jsdom
打开命令行窗口输入

npm -g install jsdom

之后在python环境里面
安装的python是3.10版
python官网地址:https://www.python.org/
安装好对应的sdk之后进入到pycharm软件开发页面,选择好编译器
如果发现找不到对应的sdk,编辑pyvenv.cfg文件,将里面的路径替换成利的python安装路径
在这里插入图片描述

安装Flask 框架:

pip install  Flask  

安装同花顺问财pywencai

pip install  pywencai

编写代码:

from flask import Flask, request, jsonify
import pywencai
app = Flask(__name__)
@app.route('/test',methods =['GET'])
def add_user():
    # query = request.args.get('query', default='', type=str)
    query = '非st;非停牌;连续3天涨幅介于1%-4%;股价大于60日均线;无长上影线;';
    fav_list = xg_wencai(query, perpage=200, ret='symbol')
    print(fav_list)
    return jsonify(fav_list)


def xg_wencai(query, perpage=200, ret='df'):
    # ret为code返回六位代码,symbol则为'代码.市场'格式,默认返回df
    # res = pywencai.get(query='退市股票', sort_key='退市@退市日期', sort_order='asc')
    # print(res)
    df = pywencai.get(query=query, sort_key='股票代码', sort_order='asc', perpage=perpage )
    # df = pywencai.get(query='化工板块或合成生物或者低空经济;最近强势股;早盘竞价抢筹;前三个交易日游资大举买入;竞价dde大单为正值')
    if df is None:
        return None
    elif df.empty:
        return None
    else:
        if ret == 'symbol':
            return df['股票代码'].tolist()
        elif ret == 'code':
            return df['股票代码'].str[:6].tolist()
        else:
            return df.round(3)

if __name__ == '__main__':
    app.run()

温馨提示:

有些老铁总是安装出问题,这里我已经在stockapi安装好了,可以直接用http请求的形式获取数据:

ai选股,技术指标,龙虎榜数据,竞价数据,https://stockapi.com.cn

截图如下

在这里插入图片描述

### 使用Python调用同花顺API获取金融数据 为了通过Python同花顺进行交互并获取所需金融数据,开发者需遵循特定流程来确保操作的有效性和准确性。这不仅涉及对Python编程技能的要求,还涉及到对于所使用的API接口功能及其限制的理解。 #### 准备工作 在开始之前,确保已安装必要的库,如`requests`用于发起HTTP请求。可以通过pip命令轻松完成这些依赖项的安装: ```bash pip install requests pandas ``` #### 获取访权限 通常情况下,使用第三方金融服务API前需要注册账号并申请相应的API Key。此Key作为身份验证的一部分,在每次请求时都需要提供给服务器端以证明合法的身份[^1]。 #### 编写代码实现数据抓取 下面是一个简单的例子展示怎样构建一个基本框架去查询某只股票的历史收盘价: ```python import requests import json from datetime import date, timedelta def get_stock_data(stock_code='000001', start_date=None, end_date=None): """ :param stock_code: 股票代码,默认为平安银行(000001) :param start_date: 开始日期,默认一周前 :param end_date: 结束日期,默认今天 """ if not start_date: start_date = (date.today() - timedelta(days=7)).strftime('%Y%m%d') if not end_date: end_date = date.today().strftime('%Y%m%d') url = f"https://api.wmcloud.com/data/v1//stock/STOCK_DAY_PRICE/getStockDayPrice.json?field=&beginDate={start_date}&endDate={end_date}&ticker={stock_code}" headers = { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' # 替换成自己的token } response = requests.get(url=url, headers=headers) try: data = response.json() if isinstance(data['data'], list) and len(data['data']) > 0: df = pd.DataFrame(data['data']) return df[['tradeDate', 'closePrice']] # 返回交易日和收盘价格 else: print('No Data Found.') return None except Exception as e: print(f"Error occurred while fetching data {e}") return None if __name__ == '__main__': result = get_stock_data() print(result.head()) ``` 这段脚本定义了一个名为`get_stock_data()`函数,它接受三个参数:目标证券编号(`stock_code`)、起始时间戳(`start_date`)以及结束时间戳(`end_date`)。如果未指定具体时间段,则默认检索过去七天内的记录;而如果没有给出具体的证券代号,则会自动采用深圳市场的首个上市企业——平安银行为例来进行说明[^2]。 请注意上述URL中的路径可能不是最新的,请查阅官方文档确认最准确的信息,并替换示例中的`YOUR_ACCESS_TOKEN`为你实际获得的应用令牌。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量化接口stockapi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值