同花顺问财选股python源码

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:同花顺网js加密动态生成请求中所需要的cookie


提示:以下是本篇文章正文内容,下面案例可供参考

一、使用步骤

1.引入库

import execjs
import requests
import json

2.完整代码

代码如下(示例):

import execjs
import requests
import json
with open('./xu.js', 'r') as f:
    jscontent = f.read()
context= execjs.compile(jscontent)

headers ={
    
    
        "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
        "Accept-Encoding":"gzip, deflate",
        "Accept-Language":"zh-CN,zh;q=0.9",
        "Connection":"keep-alive",
        'Cookie': "",
        "Host": "www.iwencai.com",
        "Referer": "http://www.iwencai.com/stockpick?tid=stockpick",
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
        }    
        
def Get_stock(token=''):
    url = 'http://www.iwencai.com/unifiedwap/unified-wap/v2/result/get-robot-data?&secondary_intent=stock&perpage=500&page=1&block_list=&source=Ths_iwencai_Xuangu&version=2.0&question='
    url = url+token
    headers['cookie'] = 'v={}'.format(context.call("xuangu"))
    res = requests.get(headers=headers, url=url)
    info = json.loads(res.text)
    Data=info['data']['answer'][0]["txt"][0]["content"]["components"][0]["data"]["datas"]
    print(len(Data))
    Data_list = []
    for i in Data:
        if '最新价' in i.keys():
            print(i["股票代码"],i["股票简称"],i["最新价"])
            print("="*48)
            DOHLCV = {
    
    }
            DOHLCV['代码'] = i["股票代码"]
            DOHLCV['名称'] = i["股票简称"]
            DOHLCV['价格'] = i["最新价"]
            Data_list.append(DOHLCV)
        else:
            print(i["股票代码"],i["股票简称"])
            print("="*48)     
    return Data_list
    
if __name__ == '__main__':
    # qes = 'macd金叉,dea>0,量比>1,涨幅<3%'
    # qes = '60分钟macd金叉,涨幅<3%'
    # qes = '60分钟macd金叉,涨幅<3%,量比>2'
    # qes = 'rsi上穿30,涨幅<3%,量比>2'
    # qes = '连续五日资金流入前100,连续十日资金流入前100,连续三日资金流入前100,macd金叉'
    # qes = '连续五日资金流入前100,macd金叉'
    # qes = 'macd金叉,dea>0,量比>1,涨幅<3%'
    qes = '券商股'
    qes = '银行股'
    print(Get_stock(qes))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_20575249/article/details/109923513