fix: 🐛 optimize code

main
jackluson 3 years ago
parent 9bff5761c5
commit 5a3dbb6aa8

@ -32,32 +32,28 @@ lock = Lock()
def get_total_asset(fund_code, platform):
each_fund = FundApier(fund_code, '2021-05-07', platform)
each_fund = FundApier(fund_code, end_date='2021-05-07', platform=platform)
total_asset = each_fund.get_total_asset()
# 如果在爱基金平台找不到,则到展恒基金找
if total_asset == None and platform == 'ai_fund':
print("fund_code", total_asset, fund_code)
each_fund = FundApier(fund_code, '2021-05-10', 'zh_fund')
each_fund = FundApier(fund_code, end_date='2021-05-10', platform='zh_fund')
total_asset = each_fund.get_total_asset()
if __name__ == '__main__':
each_fund_query = FundQuery()
record_total = each_fund_query.get_crawler_quarter_fund_total() # 获取记录条数
print('record_total', record_total)
exit()
IdWorker = IdWorker()
page_limit = 5
page_start = 0
# error_funds = []
# 设置表头
result_dir = './output/'
fund_csv = FundCSV(result_dir)
if page_start == 0:
fund_csv.write_season_catch_fund(True)
fund_csv.write_abnormal_url_fund(True)
# df = pandas.read_csv(
# result_dir + 'fund_morning_quarter_error.csv', usecols=[0, 2, 4])
# fund_list = df.values.tolist()

@ -19,12 +19,14 @@ from utils.file_op import write_fund_json_data
class FundApier:
def __init__(self, code, end_date, platform='ai_fund'):
def __init__(self, code, *, end_date=None, platform='ai_fund'):
self.fund_code = code
self.cur_date = time.strftime("%Y-%m-%d", time.localtime(time.time()))
self.end_date = end_date
self.platform = platform
self.total_asset = None
self.buy_status = None
self.sell_status = None
# 默认的爱基金
self.file_dir = os.getcwd() + '/output/json/' + self.platform + \
'/' + self.cur_date + '/'
@ -54,7 +56,6 @@ class FundApier:
print(asset_str, "not a number")
# 基金信息--来源爱基金
def get_base_info_ai(self):
url = "http://fund.10jqka.com.cn/data/client/myfund/{0}".format(
self.fund_code)
@ -106,7 +107,6 @@ class FundApier:
pprint(res_json)
if res_json.get('Msg') == 'OK' and fund_scope != None:
end_date = res_json.get('DealDate')
fund_scope = res_json.get('FundScope')
total_asset = fund_scope[0:-1]
self.write_info_in_json(end_date, res_json)
try:
@ -125,6 +125,38 @@ class FundApier:
print('code:3', self.fund_code)
raise('中断')
def get_analyse_info_hz(self):
url = "https://www.myfund.com/webinterface/Bamboo.ashx?command={0}".format(
'singlefundAnalyse')
headers = {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
}
payload = {
'fundcode': self.fund_code,
}
res = requests.post(url, headers=headers, data=payload)
res.encoding = "utf-8"
time.sleep(1)
try:
if res.status_code == 200:
res_json = res.json()
buy_status = res_json.get('BuyStatus')
sell_status = res_json.get('SellStatus')
pprint(res_json)
if res_json.get('Msg') == 'OK' and buy_status != None:
self.sell_status = sell_status
self.buy_status = buy_status
else:
pprint(res_json)
print('code:1', self.fund_code)
else:
pprint(res.content)
print('code:2', self.fund_code)
raise('中断')
except:
print('code:3', self.fund_code)
raise('中断')
def write_info_in_json(self, end_date, json_data):
filename = '{fund_code}{end_date}-base.json'.format(
fund_code=self.fund_code,
@ -137,5 +169,6 @@ class FundApier:
if __name__ == '__main__':
fund_api = FundApier('675113', '2021-05-07', 'zh_fund')
fund_api.get_base_info_hz()
fund_api = FundApier('000421', end_date='2021-05-31',)
# fund_api.get_analyse_info_hz()
# print("fund_api", fund_api)

@ -30,13 +30,13 @@ if __name__ == '__main__':
fund_code = c_class_result[0]
fund_name = c_class_result[1]
platform = 'zh_fund' if '封闭' in fund_name else 'ai_fund'
each_fund = FundApier(fund_code, '2021-05-07', platform)
each_fund = FundApier(fund_code, end_date='2021-05-07', platform=platform)
total_asset = each_fund.get_total_asset()
# 如果在爱基金平台找不到,则到展恒基金找
if total_asset == None and platform == 'ai_fund':
print("fund_code", i, fund_name, fund_code)
each_fund = FundApier(fund_code, '2021-05-07', 'zh_fund')
each_fund = FundApier(fund_code, end_date='2021-05-07', platform='zh_fund')
total_asset = each_fund.get_total_asset()
fund_query.update_fund_total_asset(fund_code, total_asset)

Loading…
Cancel
Save