import requests import datetime import time import discord_sender,dingding def run(): print('金 10 数据数据日历数据抓取...') addtion_day = 1 items = [] while(addtion_day <= 7): data_day = datetime.datetime.now() + datetime.timedelta(days=addtion_day) addtion_day = addtion_day + 1 result = _get_jin10_cal_by_day(data_day.year, data_day.month, data_day.day) items.extend(result) time.sleep(1) if len(items) > 0: content = "" for item in items: print(item) content += _build_content(item) print(content) dingding.send_message(content) url = 'https://discord.com/api/webhooks/1287027684370681939/fzinKKoNK6KXoLNdj1wttSDtIGio-VHijaYzZInoajHHu-PZyZXVpWDxM6_XrxCtPrPY' discord_sender.send_message(url, '【最近重要数据公布时间】',content) def _build_content(item): content = f"{item['name']} {item['country']} {item['time_period']}\r\n" if item['previous'] != None: content += f"前值: {item['previous']}\r\n" if item['consensus'] != None: content += f"预测值: {item['consensus']}\r\n" content += f"重要星级:" for s in range(item['star']): content+="★" pub_date = datetime.datetime.strptime(item['pub_time'],'%Y-%m-%dT%H:%M:%S.%fZ') + datetime.timedelta(hours=8) content += f"\r\n公布时间: {pub_date.strftime('%Y-%m-%d %H:%M:%S')}\r\n\r\n" return content def _fill_number(number): if number<10: return "0" + str(number) return number def _get_jin10_cal_by_day(year,month, day): url = f"https://cdn-rili.jin10.com/data/{year}/{_fill_number(month)}{_fill_number(day)}/economics.json" print(url) data = requests.get(url).json() items = [] for item in data: if item['star'] >= 4: items.append(item) return items