[Next.js] CNN ๊ณตํฌ ํƒ์š• ์ง€์ˆ˜ ๊ณต์‹ api (feat. TypeScript)

2024. 8. 3. 18:31ยท๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ/Next.js

CNN์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต์‹ ๋ฐ์ดํ„ฐ ํ˜ธ์ถœ ๋กœ์ง์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋กœ ์ ‘์†์‹œ ๋ฐ์ดํ„ฐ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํฌ๋กค๋ง์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ 418 I'm a teapot์„ ๋„์šฐ๊ธฐ ๋•Œ๋ฌธ์— User-Agent๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ˜ธ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค.

 

const data = await fetch("https://production.dataviz.cnn.io/index/fearandgreed/graphdata",
    {
        headers: {
            "Content-Type": "application/json",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
        }
    }
)

 

interface FearAndGreedData {
    score: number;
    rating: string;
    timestamp: string;
    previous_close: number;
    previous_1_week: number;
    previous_1_month: number;
    previous_1_year: number;
}

interface HistoricalData {
    timestamp: number;
    score: number;
    rating: string;
    data: {
        x: number;
        y: number;
        rating: string;
    }[];
}

interface MarketMomentumData {
    timestamp: number;
    score: number;
    rating: string;
    data: Array<Record<string, any>>;
}

interface StockPriceData {
    timestamp: number;
    score: number;
    rating: string;
    data: Array<Record<string, any>>;
}

interface PutCallOptionsData {
    timestamp: number;
    score: number;
    rating: string;
    data: Array<Record<string, any>>;
}

interface MarketVolatilityData {
    timestamp: number;
    score: number;
    rating: string;
    data: Array<Record<string, any>>;
}

interface JunkBondDemandData {
    timestamp: number;
    score: number;
    rating: string;
    data: Array<Record<string, any>>;
}

interface SafeHavenDemandData {
    timestamp: number;
    score: number;
    rating: string;
    data: Array<Record<string, any>>;
}

interface FearAndGreedIndex {
    fear_and_greed: FearAndGreedData;
    fear_and_greed_historical: HistoricalData;
    market_momentum_sp500: MarketMomentumData;
    market_momentum_sp125: MarketMomentumData;
    stock_price_strength: StockPriceData;
    stock_price_breadth: StockPriceData;
    put_call_options: PutCallOptionsData;
    market_volatility_vix: MarketVolatilityData;
    market_volatility_vix_50: MarketVolatilityData;
    junk_bond_demand: JunkBondDemandData;
    safe_haven_demand: SafeHavenDemandData;
}
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ > Next.js' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ •๋ณด] ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ API ์‚ฌ์šฉ ํ›„๊ธฐ - ์‹œ์Šคํ…œ ํŠธ๋ ˆ์ด๋”ฉ  (0) 2024.08.17
[Next.js] npm run start prisma findMany ๊ฐฑ์‹  ์•ˆ๋  ๋•Œ  (0) 2024.08.02
[Next.js] ๋ฆฌ์—‘ํŠธ ํ…Œ์ด๋ธ” CSV ์ €์žฅ ๊ตฌํ˜„(feat. Shadcn)  (0) 2024.06.21
[์ •๋ณด] NextAuth.js Type ์—๋Ÿฌ ์žก๊ธฐ - CredentialsProvider / prisma  (0) 2024.02.07
[Nextjs] api return ๊ฐ’ ๊ฐฑ์‹  ์•ˆ๋˜๋Š” ์ด์œ   (0) 2023.12.04
'๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ/Next.js' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ •๋ณด] ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ API ์‚ฌ์šฉ ํ›„๊ธฐ - ์‹œ์Šคํ…œ ํŠธ๋ ˆ์ด๋”ฉ
  • [Next.js] npm run start prisma findMany ๊ฐฑ์‹  ์•ˆ๋  ๋•Œ
  • [Next.js] ๋ฆฌ์—‘ํŠธ ํ…Œ์ด๋ธ” CSV ์ €์žฅ ๊ตฌํ˜„(feat. Shadcn)
  • [์ •๋ณด] NextAuth.js Type ์—๋Ÿฌ ์žก๊ธฐ - CredentialsProvider / prisma
TwoIceFish
TwoIceFish
https://github.com/TwoIceFIsh
  • TwoIceFish
    Cyber-Luna
    TwoIceFish
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (593)
      • ๐Ÿค–์ •๋ณด๋ณด์•ˆ (77)
        • ๐Ÿ’™๋ธ”๋ฃจํŒ€ (24)
        • โค๏ธ๋ ˆ๋“œํŒ€ (21)
        • ๐Ÿ’œํผํ”ŒํŒ€ (1)
        • ๐Ÿ’ 1๋ถ„์ง€์‹ (30)
      • ํ”„๋กœ์ ํŠธ (14)
        • ๐Ÿ’Œ ์ •๋ณด๋ณด์•ˆ ๋ฉ”์ผ๋ง ์‹œ์Šคํ…œ (8)
        • ๐Ÿ” ์ธ์ฆ์„œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ (1)
        • ๐Ÿ ๊ธˆ์œต ์ปค๋ฎค๋‹ˆํ‹ฐ (5)
      • ๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ (49)
        • Next.js (9)
      • ๊ธฐํƒ€์ •๋ณด (68)
        • ๐ŸŒ๊ทธ๋ฆฟ์š”๊ฑฐํŠธ (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ๋ฐฉ๋ช…๋ก
    • ๋กœ์ผ“ํŽ€์น˜
    • ๊นƒํ—ˆ๋ธŒ
    • ์ฝ”์ฝ”๋„ˆ์ธ 
    • ๊ทธ๋ฆฟ์š”๊ฑฐํŠธ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

    • ์•ˆ๋…•ํ•˜์„ธ์š”
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    eclipse
    servlet 404
    ์ง€๊ฐ‘ ์•ฑ์— ์นด๋“œ ์ถ”๊ฐ€
    ๋ชจ์˜ํ•ดํ‚น
    Visual Studio
    ์™€์ดํŒŒ์ด ๋น„๋ฐ€๋ฒˆํ˜ธ ํƒˆ์ทจ
    ๋‹จ์ผ ๋„๋ฉ”์ธ ์ธ์ฆ์„œ ์—ฌ๋Ÿฌ๊ฐœ
    ์„œ๋ธŒ๋„๋ฉ”์ธ ์ธ์ฆ์„œ
    ์œ ๋‹ˆํ‹ฐ
    tomcat servlet
    ์•…์„ฑ๋ฉ”์ผ
    ํ†ฐ์บฃ ์„œ๋ธ”๋ฆฟ
    ๋ฐฉ๋ฒ™
    ์•…์„ฑ๋ฉ”์žƒ๋ถ„์„
    vpn ์„ค์น˜
    SKํ•˜์ด๋‹‰์Šค
    ๋ถ€๋™์‚ฐ ์ˆ˜์ต๋ฅ  ๊ณ„์‚ฐ๊ธฐ
    vpn ์˜คํ”ˆ์†Œ์Šค
    ์‚ผ์„ฑ์ „์ž์šฐ
    ๋ฉ”์ผํ—ค๋”๋ถ„์„
    jsp
    jsp 200
    ์ธ์ฆ์„œ ์—ฌ๋Ÿฌ๊ฐœ
    ์ฝ”์ฝ”๋„›์ธ 
    ISMS-P
    ์‘๋‹ต์—†์Œ
    ์• ํ”ŒํŽ˜์ด ์„ค์ •๋ฐฉ๋ฒ•
    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ
    nmap
    ์ˆ˜์ต๋ฅ  ๊ณ„์‚ฐ๊ธฐ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
TwoIceFish
[Next.js] CNN ๊ณตํฌ ํƒ์š• ์ง€์ˆ˜ ๊ณต์‹ api (feat. TypeScript)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”