提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:同花顺网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))