聚宽是个非常棒的平台,回测用的数据洗的非常干净,没有未来信息的问题。最近听说他们发新产品了,祝贺!
如果经常用聚宽的话,会经常需要把聚宽研究环境中自己分析数据的结果下载下来,我做了个小工具,能批量自动下载聚宽上保存的文件。
用到了selenium模拟浏览器,不会用的可以搜一下。
github:https://github.com/QuantGin/Quant_For_All
from selenium.common.exceptions import *
import requests
import time
import os
import traceback
class joinquant:
def __init__(self,d):
self.d=d
def login(self,username,password):
d=self.d
d.get('https://www.joinquant.com/research')
d1=d.find_element_by_class_name('phone')
d1.clear()
d1.send_keys(username)
d1=d.find_element_by_class_name('jq-login__password')
d1.clear()
d1.send_keys(password)
self.wait()
d.find_element_by_class_name('login-submit').click()
for i in range(60):
try:
d.switch_to.default_content()
d.switch_to.frame("research")
d.find_element_by_class_name('fa-folder')
if d.current_url=='https://www.joinquant.com/default/research/index?target=self&url=/default/research/redirect':
self._get_cookie()
print('Login was successful!')
self.wait(3)
return 1
except Exception as e:
pass
self.wait()
return 0
def wait(self,n=1):
time.sleep(1*n)
def _get_cookie(self):
d=self.d
cookie =[item["name"] + ":" + item["value"] for item in d.get_cookies()]
cookiestr = ';'.join(item for item in cookie)
cook_map = {}
for item in cookie :
str = item.split(':')
cook_map[str[0]] = str[1]
cookies = requests.utils.cookiejar_from_dict(cook_map, cookiejar=None, overwrite=True)
self.cookies=cookies
def _research(self):
d=self.d
d.s