File size: 1,081 Bytes
a45d429
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import requests
import pandas as pd
import os
from dotenv import load_dotenv
import logging

# Load environment variables
load_dotenv()
api_key = os.getenv("RAPIDAPI_KEY")

# Setup logging
log_folder = os.getenv("LOG_FOLDER")
os.makedirs(log_folder, exist_ok=True)
log_file = os.path.join(log_folder, "greed_fear_index.log")
logging.basicConfig(filename=log_file, level=logging.INFO, format="%(asctime)s [%(levelname)s] - %(message)s")

def fetch_greed_fear_index():
    url = "https://fear-and-greed-index.p.rapidapi.com/v1/fgi"
    headers = {
        "X-RapidAPI-Key": api_key,
        "X-RapidAPI-Host": "fear-and-greed-index.p.rapidapi.com"
    }

    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        data = response.json()
        df = pd.json_normalize(data, sep='_')
        df.to_csv('output/greed_fear_index.csv', index=False)
        logging.info("Greed and Fear index data fetched successfully.")
    else:
        logging.error(f"Failed to fetch data: {response.text}")

if __name__ == "__main__":
    fetch_greed_fear_index()