1 Star 0 Fork 1

ichao1214 / stock

forked from rzxxysy / stock 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
SPSIOP_PRICE.py 2.59 KB
一键复制 编辑 原始数据 按行查看 历史
Rockyzsu 提交于 2020-08-05 17:33 . update
# -*-coding=utf-8-*-
# @Time : 2019/10/20 23:14
# @File : SPSIOP_PRICE.py
# 获取SPSIOP的价格,每天早上美股收盘
import datetime
import requests
import pymongo
from settings import llogger,_json_data,send_from_aliyun
host = _json_data['mongo']['qq']['host']
port = _json_data['mongo']['qq']['port']
user = _json_data['mongo']['qq']['user']
to_mail = _json_data['mail']['qq']['user']
password = _json_data['mongo']['qq']['password']
# host='127.0.0.1'
client = pymongo.MongoClient(host=host, port=port)
doc = client['db_stock']['SPSIOP']
# 先访问一下雪球首页得到cookies
logger = llogger('log/huabaoyouqi.log')
home_headers = {'User-Agent': 'Xueqiu App'}
headers = {'User-Agent': 'Xueqiu App',
'Access-Control-Allow-Origin': 'https://xueqiu.com',
'Content-Type': 'application/json;charset=UTF-8',
'P3P': 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'}
url = 'https://stock.xueqiu.com/v5/stock/quote.json?symbol=.SPSIOP&extend=detail'
home_page = 'https://xueqiu.com'
today = datetime.datetime.now().strftime('%Y-%m-%d')
def get_price():
session = requests.Session()
session.get(url=home_page, headers=home_headers)
r = session.get(url=url,
headers=headers)
js_data = r.json()
quote = js_data.get('data', {}).get('quote')
quote['crawltime'] = datetime.datetime.now()
doc.insert_one(quote)
percent = quote.get('percent')
ret = qdii_info()
if ret:
predict_v = round((1+percent*0.95*0.01)*ret,3)
logger.info(f'最新估值{predict_v}')
d={'日期':today,'估值':predict_v}
client['db_stock']['huabaoyouqi_predict'].insert_one(d)
title=f'{today}华宝估值{predict_v}'
send_from_aliyun(title,'')
else:
logger.error('获取估值失败')
def qdii_info():
url = 'https://www.jisilu.cn/data/qdii/qdii_list/?rp=25&page=1'
r = requests.get(url=url, headers=home_headers)
js_data = r.json()
rows = js_data.get('rows', [])
new_rows=[]
for row in rows:
new_rows.append(row.get('cell'))
doc = client['DB_QDII'][today]
try:
doc.insert_one(new_rows)
except Exception as e:
logger.error(e)
else:
for row in rows:
if row.get('cell', {}).get('fund_nm') == '华宝油气':
nav = row.get('cell', {}).get('fund_nav')
try:
nav = float(nav) # 网站给的是字符
except:
return None
else:
return nav
if __name__ == '__main__':
get_price()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ichao1214/stock.git
git@gitee.com:ichao1214/stock.git
ichao1214
stock
stock
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891