Flush demande le code source Python de sélection d'actions

Astuce: Une fois l'article rédigé, la table des matières peut être générée automatiquement. Pour savoir comment la générer, reportez-vous au document d'aide à droite.


Préface

Astuce: le cryptage Tonghuashun.com js génère dynamiquement les cookies requis dans la demande


Conseil: ce qui suit est le contenu de cet article, les cas suivants sont pour référence

1. Utilisez les étapes

1. Importez la bibliothèque

import execjs
import requests
import json

2. Code complet

Le code est le suivant (exemple):

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))

Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/qq_20575249/article/details/109923513
conseillé
Classement