From ef5ccf74df67dd48fe766c22da54e49afaaaab29 Mon Sep 17 00:00:00 2001 From: Zichao Lin Date: Mon, 28 Jul 2025 20:57:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E6=8A=93?= =?UTF-8?q?=E5=8F=96=E5=92=8C=E4=BF=9D=E5=AD=98=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E6=AF=8F10=E5=88=86=E9=92=9F=E6=9B=B4?= =?UTF-8?q?=E6=96=B0phase=E5=92=8Cgeneral=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- general.py | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 general.py diff --git a/general.py b/general.py new file mode 100644 index 0000000..4e76100 --- /dev/null +++ b/general.py @@ -0,0 +1,65 @@ +import csv +from datetime import datetime +import time +import schedule +import requests + +PHASE_URL = "https://backend.dexrp.io/general/phase" +GENERAL_URL = "https://backend.dexrp.io/general" + + +def fetch_data(url): + try: + response = requests.get(url) + response.raise_for_status() + return response.json() + except Exception as e: + print(f"Error fetching data: {e}") + return None + + +def save_to_csv(filename, data): + try: + with open(filename, "a", newline="") as f: + writer = csv.writer(f) + if f.tell() == 0: # Write header if file is empty + writer.writerow(data.keys()) + writer.writerow(data.values()) + except Exception as e: + print(f"Error saving to {filename}: {e}") + + +def job(): + # Phase data + phase_data = fetch_data(PHASE_URL) + if phase_data: + filtered_phase = { + "raised": phase_data.get("raised"), + "goal": phase_data.get("goal"), + } + save_to_csv("phase.csv", filtered_phase) + + # General data + general_data = fetch_data(GENERAL_URL) + if general_data: + filtered_general = { + "roundIndex": general_data.get("roundIndex"), + "raisedAmount": general_data.get("raisedAmount"), + "raiseGoalAmount": general_data.get("raiseGoalAmount"), + "tokensSoldAmount": general_data.get("tokensSoldAmount"), + "tokensGoalAmount": general_data.get("tokensGoalAmount"), + } + save_to_csv("general.csv", filtered_general) + + +def main(): + schedule.every(10).minutes.do(job) + job() # Run immediately first time + + while True: + schedule.run_pending() + time.sleep(1) + + +if __name__ == "__main__": + main()