{"id":4313,"date":"2025-01-05T22:41:28","date_gmt":"2025-01-05T13:41:28","guid":{"rendered":"https:\/\/secondlife.lol\/?p=4313"},"modified":"2025-01-05T22:41:48","modified_gmt":"2025-01-05T13:41:48","slug":"korean-bank-api-python-visualization","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/ja\/korean-bank-api-python-visualization\/","title":{"rendered":"\u97d3\u56fd\u9280\u884cAPI\u3092\u6d3b\u7528\u3057\u305f\u7d4c\u6e08\u30c7\u30fc\u30bf\u306e\u53ef\u8996\u5316 - Python\u3067\u7c21\u5358\u306b\u3067\u304d\u308b\u3053\u3068"},"content":{"rendered":"<style>.kb-image4313_c53706-46 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image4313_c53706-46 img.kb-img, .kb-image4313_c53706-46 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image4313_c53706-46\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1200\" height=\"607\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-4.jpg\" alt=\"\ud55c\uad6d\uc740\ud589 API \ud648\ud398\uc774\uc9c0 \uac08\ubb34\ub9ac \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-4314\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-4.jpg 1200w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-4-300x152.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-4-600x304.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-4-768x388.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-4-18x9.jpg 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><figcaption>( \ud55c\uad6d\uc740\ud589 API \ud648\ud398\uc774\uc9c0 \uac08\ubb34\ub9ac \uc774\ubbf8\uc9c0 )<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\ud55c\uad6d\uc740\ud589 API\ub97c \uc774\uc6a9\ud558\uba74, \uacbd\uc81c \ub370\uc774\ud130\ub97c \uc190\uc27d\uac8c \uc870\ud68c\ud558\uace0 \uc2dc\uac01\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud2b9\ud788 Python\uacfc \ud568\uaed8 \uc0ac\uc6a9\ud558\uba74 \ub370\uc774\ud130 \ubd84\uc11d \ubc0f \uace0\uae09 \uc2dc\uac01\ud654\uae4c\uc9c0 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc774\ubc88 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 <strong>\ud55c\uad6d\uc740\ud589 Open API\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \uc18c\uac1c\ud558\uace0, \ub370\uc774\ud130 \uc2dc\uac01\ud654\ub85c \uc778\uc0ac\uc774\ud2b8\ub97c \ub3c4\ucd9c\ud558\ub294 \uacfc\uc815<\/strong>\uc744 \uc790\uc138\ud788 \uc124\uba85\ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<h2 class=\"wp-block-heading\">\ud55c\uad6d\uc740\ud589 Open API\ub780 \ubb34\uc5c7\uc778\uac00\uc694?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ud55c\uad6d\uc740\ud589 API\ub294 <strong>\ud55c\uad6d\uc740\ud589\uc758 \uacbd\uc81c\ud1b5\uacc4\uc2dc\uc2a4\ud15c(ECOS) \ub370\uc774\ud130\ub97c \uac1c\ubc1c\uc790\uc640 \uc5f0\uad6c\uc790\ub4e4\uc774 \uc27d\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \uc81c\uacf5\ud558\ub294 \uc11c\ube44\uc2a4<\/strong>\uc785\ub2c8\ub2e4. API\ub97c \uc0ac\uc6a9\ud558\uba74 <strong>\uc2e4\uc2dc\uac04 \uacbd\uc81c \ub370\uc774\ud130<\/strong>\ub97c \uc9c1\uc811 \uc870\ud68c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc6d0\/\ub2ec\ub7ec \ud658\uc728, \ucf54\uc2a4\ud53c \uc9c0\uc218, \uc678\ud658\ubcf4\uc720\uc561 \ub4f1\uc744 \uc190\uc27d\uac8c \uac00\uc838\uc640 \ubd84\uc11d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud55c\uad6d\uc740\ud589 API \uc0ac\uc6a9 \ubc29\ubc95<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. \uc0d8\ud50c \ub370\uc774\ud130 \uc870\ud68c (\ud14c\uc2a4\ud2b8\uc6a9)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0d8\ud50c \ub370\uc774\ud130\ub294 \uc778\uc99d\ud0a4 \uc5c6\uc774 \uac04\ub2e8\ud55c \ud14c\uc2a4\ud2b8\ub97c \uc704\ud55c \uc608\uc81c \ub370\uc774\ud130\uc785\ub2c8\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc740 URL\uc744 \uc0ac\uc6a9\ud574 100\ub300 \ud1b5\uacc4\uc9c0\ud45c \uc911 10\uac1c\uc758 \uc0d8\ud50c \ub370\uc774\ud130\ub97c \uc870\ud68c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798 URL\uc744 \ubcf5\uc0ac\ud574\uc11c \uc6f9\ube0c\ub77c\uc6b0\uc800 \uc8fc\uc18c\ucc3d\uc5d0 \uc785\ub825\ud558\uba74 \uc544\ub798\uc640 \uac19\uc740 \ub0b4\uc5ed\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading4313_53f91a-67, .wp-block-kadence-advancedheading.kt-adv-heading4313_53f91a-67[data-kb-block=\"kb-adv-heading4313_53f91a-67\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading4313_53f91a-67 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading4313_53f91a-67[data-kb-block=\"kb-adv-heading4313_53f91a-67\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading4313_53f91a-67 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading4313_53f91a-67[data-kb-block=\"kb-adv-heading4313_53f91a-67\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h4 class=\"kt-adv-heading4313_53f91a-67 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading4313_53f91a-67\">10\uac1c\uc758 \uc0d8\ud50c \ub370\uc774\ud130 \uc870\ud68c URL<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;ecos.bok.or.kr\/api\/KeyStatisticList\/sample\/xml\/kr\/1\/10<\/code><\/pre>\n\n\n<style>.kb-image4313_57bc6f-f1 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image4313_57bc6f-f1 img.kb-img, .kb-image4313_57bc6f-f1 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image4313_57bc6f-f1\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"884\" height=\"487\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-5.jpg\" alt=\"10\uac1c\uc758 \uc0d8\ud50c \ub370\uc774\ud130 \uc870\ud68c\uacb0\uacfc \ucea1\uccd0 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-4315\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-5.jpg 884w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-5-300x165.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-5-600x331.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-5-768x423.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-5-18x10.jpg 18w\" sizes=\"(max-width: 884px) 100vw, 884px\" \/><figcaption>(10\uac1c\uc758 \uc0d8\ud50c \ub370\uc774\ud130 \uc870\ud68c\uacb0\uacfc \ucea1\uccd0 \uc774\ubbf8\uc9c0)<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2. \uc778\uc99d\ud0a4\ub97c \uc774\uc6a9\ud55c 100\ub300 \ud1b5\uacc4\uc9c0\ud45c \uc870\ud68c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">100\ub300 \ud1b5\uacc4\uc9c0\ud45c \ub370\uc774\ud130 \ubaa8\ub450\ub97c \uc870\ud68c\ud558\ub824\uba74 <strong>\uc778\uc99d\ud0a4\ub97c \ubc1c\uae09<\/strong>\ubc1b\uc544\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc778\uc99d\ud0a4 \ubc1c\uae09 \ubc29\ubc95:<\/strong> <a href=\"https:\/\/ecos.bok.or.kr\/api\/#\/\" target=\"_blank\" rel=\"noopener\">\ud55c\uad6d\uc740\ud589 ECOS \uc6f9\uc0ac\uc774\ud2b8<\/a>\uc5d0 \uc811\uc18d\ud574\uc11c \uc6b0\uce21\uc0c1\ub2e8 &#8220;<strong>\uc778\uc99d\ud0a4 \uc2e0\uccad<\/strong>&#8220;\uc744 \ud1b5\ud574\uc11c OpenAPI \uc778\uc99d\ud0a4 \uc2e0\uccad\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc2e0\uccad\uc744 \uc644\ub8cc\ud558\uba74 \uc774\uba54\uc77c\ub85c\ub3c4 \uc778\uc99d\ud0a4\uac00 \uc804\uc1a1\uc774 \ub418\uace0, \ud574\ub2f9 \uc6f9\uc0ac\uc774\ud2b8 MyPage \uba54\ub274\uc5d0\uc11c \ud655\uc778\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uc778\uc99d\ud0a4 \uc0ac\uc6a9 \uc608\uc81c:<\/strong> \uc544\ub798\uc758 URL\uc5d0\uc11c &#8220;\uc778\uc99d\ud0a4&#8221; \ubd80\ubd84\uc5d0 \ud655\uc778\ud55c \uc778\uc99d\ud0a4\ub97c \uc785\ub825\ud558\uace0 \ube0c\ub77c\uc6b0\uc800\ub97c \ud1b5\ud574\uc11c \ud655\uc778\ud558\uba74 \uc544\ub798\uc640 \uac19\uc774 100\ub300 \ud1b5\uacc4\uc9c0\ud45c\uac00 xml \ud615\ud0dc\ub85c \ub098\ud0c0\ub098\uac8c \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;ecos.bok.or.kr\/api\/KeyStatisticList\/\uc778\uc99d\ud0a4\/xml\/kr\/1\/100<\/code><\/pre>\n\n\n<style>.kb-image4313_1db727-6c .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image4313_1db727-6c img.kb-img, .kb-image4313_1db727-6c .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image4313_1db727-6c\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1196\" height=\"697\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-6.jpg\" alt=\"100\ub300 \ud1b5\uacc4\uc9c0\ud45c \ub370\uc774\ud130 \uc870\ud68c\uacb0\uacfc \ucea1\uccd0 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-4316\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-6.jpg 1196w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-6-300x175.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-6-600x350.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-6-768x448.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-6-18x10.jpg 18w\" sizes=\"(max-width: 1196px) 100vw, 1196px\" \/><figcaption>(100\ub300 \ud1b5\uacc4\uc9c0\ud45c \ub370\uc774\ud130 \uc870\ud68c\uacb0\uacfc \ucea1\uccd0 \uc774\ubbf8\uc9c0)<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Python\uc744 \uc0ac\uc6a9\ud55c \uacbd\uc81c \ub370\uc774\ud130 \uc2dc\uac01\ud654<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c Python\uc744 \uc0ac\uc6a9\ud574 \ud55c\uad6d\uc740\ud589 API\uc5d0\uc11c \ub370\uc774\ud130\ub97c \uac00\uc838\uc640 \ubc14\ub85c \uc544\ub798 \uadf8\ub9bc\uacfc \uac19\uc774 Python \uc2dc\uac01\ud654 \uc791\uc5c5\uc744 \ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<style>.kb-image4313_c0dbed-f3 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image4313_c0dbed-f3 img.kb-img, .kb-image4313_c0dbed-f3 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image4313_c0dbed-f3\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1200\" height=\"682\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-8.jpg\" alt=\"\ud55c\uad6d\uc740\ud589 API \ud65c\uc6a9\ud55c Python \uc2dc\uac01\ud654 \uacb0\uacfc \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-4318\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-8.jpg 1200w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-8-300x171.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-8-600x341.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-8-768x436.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/image-2-8-18x10.jpg 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><figcaption>(\ud55c\uad6d\uc740\ud589 API \ud65c\uc6a9\ud55c Python \uc2dc\uac01\ud654 \uacb0\uacfc \uc774\ubbf8\uc9c0)<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Python \ucf54\ub4dc \uc608\uc81c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import requests\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport xml.etree.ElementTree as ET\n\n# \ud55c\uad6d\uc740\ud589 API URL \ubc0f \uc778\uc99d\ud0a4 \uc124\uc815\nurl = \"https:\/\/ecos.bok.or.kr\/api\/KeyStatisticList\/MN16GNV2T0LWMVGWNQ9K\/xml\/kr\/1\/100\"\n\n# API \ud638\ucd9c \ubc0f \ub370\uc774\ud130 \uc218\uc9d1\nresponse = requests.get(url)\ndata = response.text\n\n# XML \ub370\uc774\ud130 \ud30c\uc2f1 \ubc0f \ud544\uc694\ud55c \ub370\uc774\ud130 \ucd94\ucd9c\nroot = ET.fromstring(data)\nrows = &#91;]\nfor row in root.findall(\"row\"):\n    indicator = row.find(\"KEYSTAT_NAME\").text\n    if indicator in &#91;\"\uc6d0\/\ub2ec\ub7ec \ud658\uc728(\uc885\uac00)\", \"\uc678\ud658\ubcf4\uc720\uc561\"]:\n        rows.append({\n            \"indicator\": indicator,\n            \"value\": float(row.find(\"DATA_VALUE\").text),\n            \"unit\": row.find(\"UNIT_NAME\").text,\n            \"date\": pd.to_datetime(row.find(\"CYCLE\").text, errors='coerce')\n        })\n\n# \ub370\uc774\ud130\ud504\ub808\uc784\uc73c\ub85c \ubcc0\ud658\ndf = pd.DataFrame(rows)\n\n# \ud55c\uae00 \u2192 \uc601\ubb38 \ub808\uc774\ube14 \ubcc0\ud658\ndf&#91;'indicator_english'] = df&#91;'indicator'].replace({\n    \"\uc6d0\/\ub2ec\ub7ec \ud658\uc728(\uc885\uac00)\": \"KRW\/USD Exchange Rate\",\n    \"\uc678\ud658\ubcf4\uc720\uc561\": \"Foreign Exchange Reserves\"\n})\n\n# \ub370\uc774\ud130\ud504\ub808\uc784 \ud655\uc778\nprint(df)\n\n# \uc774\uc911 Y\ucd95\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc2dc\uac01\ud654\nfig, ax1 = plt.subplots(figsize=(10, 6))\n\n# \uccab \ubc88\uc9f8 Y\ucd95: \uc6d0\/\ub2ec\ub7ec \ud658\uc728\nexchange_rate_data = df&#91;df&#91;'indicator'] == \"\uc6d0\/\ub2ec\ub7ec \ud658\uc728(\uc885\uac00)\"]\nax1.bar(exchange_rate_data&#91;'indicator_english'], \n        exchange_rate_data&#91;'value'], \n        color='blue', label=\"KRW\/USD Exchange Rate\")\n\nax1.set_xlabel(\"Indicator\")\nax1.set_ylabel(\"Value (KRW)\", color='blue')\nax1.tick_params(axis='y', labelcolor='blue')\n\n# \uccab \ubc88\uc9f8 Y\ucd95 \ub9c9\ub300 \uadf8\ub798\ud504 \uc704\uc5d0 \ub808\uc774\ube14 \ucd94\uac00\nfor i, value in enumerate(exchange_rate_data&#91;'value']):\n    ax1.text(i, value + (value * 0.02), f\"{value:,.1f}\", ha='center', color='blue')\n\n# \ub450 \ubc88\uc9f8 Y\ucd95: \uc678\ud658\ubcf4\uc720\uc561\nax2 = ax1.twinx()\nreserves_data = df&#91;df&#91;'indicator'] == \"\uc678\ud658\ubcf4\uc720\uc561\"]\nax2.bar(reserves_data&#91;'indicator_english'], \n        reserves_data&#91;'value'], \n        color='red', label=\"Foreign Exchange Reserves\", alpha=0.7)\n\nax2.set_ylabel(\"Value (Thousand USD)\", color='red')\nax2.tick_params(axis='y', labelcolor='red')\n\n# \ub450 \ubc88\uc9f8 Y\ucd95 \ub9c9\ub300 \uadf8\ub798\ud504 \uc704\uc5d0 \ub808\uc774\ube14 \ucd94\uac00\nfor i, value in enumerate(reserves_data&#91;'value']):\n    ax2.text(i + 1, value + (value * 0.02), f\"{value:,.0f}\", ha='center', color='red')\n\n# \uadf8\ub798\ud504 \uc81c\ubaa9 \ubc0f \uc2a4\ud0c0\uc77c\ub9c1\nplt.title(f\"Bank of Korea Key Indicators ({df&#91;'date'].iloc&#91;0].date()})\")\nplt.tight_layout()\nplt.show()<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\uc815\ub9ac\ud558\uae30<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ud55c\uad6d\uc740\ud589 API\ub97c \uc774\uc6a9\ud558\uba74 \uacbd\uc81c \ub370\uc774\ud130\ub97c \uc190\uc27d\uac8c \uc218\uc9d1\ud558\uace0 Python\uc744 \ud65c\uc6a9\ud574 \uace0\uae09 \uc2dc\uac01\ud654\ub97c \uad6c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud2b9\ud788, \uc2dc\uac01\ud654 \uacb0\uacfc\ub97c \ud1b5\ud574 \uacbd\uc81c\uc758 \ud750\ub984\uc744 \ubcf4\ub2e4 \uc9c1\uad00\uc801\uc73c\ub85c \uc774\ud574\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub370\uc774\ud130 \ubd84\uc11d\uacfc \uc2dc\uac01\ud654\ub294 \uacbd\uc81c\uc801 \uc758\uc0ac\uacb0\uc815\uc5d0 \uc911\uc694\ud55c \ub3c4\uad6c\uac00 \ub420 \uc218 \uc788\uc73c\ub2c8, \uc9c1\uc811 \ud65c\uc6a9\ud574\ubcf4\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc38\uace0\ub85c, \ub2e4\ub978 \uc885\ub958\uc758 API \ud65c\uc6a9\ud55c \ud30c\uc774\uc36c \ubd84\uc11d\uc774 \uad81\uae08\ud558\uc2e0 \ubd84\uc740 <a href=\"https:\/\/secondlife.lol\/30-day-bitcoin-usd-chart-python-cryptocompare-api\/\" data-type=\"post\" data-id=\"3557\">Python\uacfc CryptoCompare API\ub85c 30\uc77c\uac04\uc758 \ube44\ud2b8\ucf54\uc778 \ub2ec\ub7ec \ucc28\ud2b8 \ubd84\uc11d\ud558\uae30<\/a> \ud3ec\uc2a4\ud2b8\ub97c \ucc38\uace0\ud574 \ubcf4\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#Python \uc2dc\uac01\ud654 \ucf54\ub4dc \uc0c1\uc138\ud574\uc124<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<h4 class=\"wp-block-heading\">1. \ub77c\uc774\ube0c\ub7ec\ub9ac \uc784\ud3ec\ud2b8<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>import requests\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport xml.etree.ElementTree as ET<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>requests<\/strong>: HTTP \uc694\uccad\uc744 \ud1b5\ud574 API\uc640 \ud1b5\uc2e0\ud558\uae30 \uc704\ud574 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>pandas<\/strong>: \ub370\uc774\ud130 \uc870\uc791 \ubc0f \ubd84\uc11d\uc744 \uc704\ud55c \uac15\ub825\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>matplotlib.pyplot<\/strong>: \ub370\uc774\ud130 \uc2dc\uac01\ud654\ub97c \uc704\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>xml.etree.ElementTree<\/strong>: XML \ub370\uc774\ud130\ub97c \ud30c\uc2f1\ud558\uae30 \uc704\ud574 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">2. API URL \uc124\uc815<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>url = \"https:\/\/ecos.bok.or.kr\/api\/KeyStatisticList\/MN16GNV2T0LWMVGWNQ9K\/xml\/kr\/1\/100\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud55c\uad6d\uc740\ud589 API\uc758 URL\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \uc774 URL\uc740 XML \ud615\uc2dd\uc758 \ud1b5\uacc4 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3. \ub370\uc774\ud130 \uc218\uc9d1<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>response = requests.get(url)\ndata = response.text<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>requests.get(url)<\/code>\uc744 \ud1b5\ud574 API\uc5d0 GET \uc694\uccad\uc744 \ubcf4\ub0b4\uace0 \uc751\ub2f5\uc744 <code>response<\/code>\uc5d0 \uc800\uc7a5\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>response.text<\/code>\ub97c \uc0ac\uc6a9\ud558\uc5ec XML \ub370\uc774\ud130\ub97c \ubb38\uc790\uc5f4\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">4. XML \ub370\uc774\ud130 \ud30c\uc2f1<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>root = ET.fromstring(data)\nrows = &#91;]\nfor row in root.findall(\"row\"):\n    indicator = row.find(\"KEYSTAT_NAME\").text\n    if indicator in &#91;\"\uc6d0\/\ub2ec\ub7ec \ud658\uc728(\uc885\uac00)\", \"\uc678\ud658\ubcf4\uc720\uc561\"]:\n        rows.append({\n            \"indicator\": indicator,\n            \"value\": float(row.find(\"DATA_VALUE\").text),\n            \"unit\": row.find(\"UNIT_NAME\").text,\n            \"date\": pd.to_datetime(row.find(\"CYCLE\").text, errors='coerce')\n        })<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>XML \ub370\uc774\ud130\ub97c \ud30c\uc2f1\ud558\uc5ec ElementTree \uac1d\uccb4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>rows<\/code>\ub77c\ub294 \ube48 \ub9ac\uc2a4\ud2b8\ub97c \ucd08\uae30\ud654\ud558\uc5ec \ud544\uc694\ud55c \uc815\ubcf4\ub97c \uc800\uc7a5\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uac01 <code>&lt;row><\/code> \uc694\uc18c\ub97c \ubc18\ubcf5\ud558\uba74\uc11c \uc9c0\ud45c\uba85(<code>KEYSTAT_NAME<\/code>), \uac12(<code>DATA_VALUE<\/code>), \ub2e8\uc704(<code>UNIT_NAME<\/code>), \ub0a0\uc9dc(<code>CYCLE<\/code>)\ub97c \ucd94\ucd9c\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc5ec\uae30\uc11c\ub294 &#8220;\uc6d0\/\ub2ec\ub7ec \ud658\uc728(\uc885\uac00)&#8221;\uc640 &#8220;\uc678\ud658\ubcf4\uc720\uc561&#8221;\ub9cc \ucd94\ucd9c\ud558\uc5ec \ub9ac\uc2a4\ud2b8\uc5d0 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">5. DataFrame \uc0dd\uc131<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>df = pd.DataFrame(rows)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc218\uc9d1\ud55c \ub370\uc774\ud130\ub97c pandas DataFrame\uc73c\ub85c \ubcc0\ud658\ud558\uc5ec \uc27d\uac8c \uc870\uc791\ud560 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">6. \uc601\uc5b4 \ub808\uc774\ube14 \ucd94\uac00<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>df&#91;'indicator_english'] = df&#91;'indicator'].replace({\n    \"\uc6d0\/\ub2ec\ub7ec \ud658\uc728(\uc885\uac00)\": \"KRW\/USD Exchange Rate\",\n    \"\uc678\ud658\ubcf4\uc720\uc561\": \"Foreign Exchange Reserves\"\n})<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">DataFrame\uc5d0 \uc0c8\ub85c\uc6b4 \uc5f4\uc744 \ucd94\uac00\ud558\uc5ec \ud55c\uae00 \uc9c0\ud45c\uba85\uc744 \uc601\uc5b4\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">7. DataFrame \ud655\uc778<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>print(df)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">DataFrame\uc758 \ub0b4\uc6a9\uc744 \ucf58\uc194\uc5d0 \ucd9c\ub825\ud558\uc5ec \uc218\uc9d1\ub41c \ub370\uc774\ud130\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">8. \uc774\uc911 Y\ucd95\uc744 \uc0ac\uc6a9\ud55c \uc2dc\uac01\ud654<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>fig, ax1 = plt.subplots(figsize=(10, 6))<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c \uadf8\ub9bc\uacfc \uc11c\ube0c\ud50c\ub86f\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. <code>ax1<\/code>\uc740 \uccab \ubc88\uc9f8 \ub370\uc774\ud130 \uc138\ud2b8\ub97c \uadf8\ub9ac\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\uccab \ubc88\uc9f8 Y\ucd95: \uc6d0\/\ub2ec\ub7ec \ud658\uc728 \uadf8\ub9ac\uae30<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>exchange_rate_data = df&#91;df&#91;'indicator'] == \"\uc6d0\/\ub2ec\ub7ec \ud658\uc728(\uc885\uac00)\"]\nax1.bar(exchange_rate_data&#91;'indicator_english'], \n        exchange_rate_data&#91;'value'], \n        color='blue', label=\"KRW\/USD Exchange Rate\")<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud30c\ub780\uc0c9 \ub9c9\ub300\ub97c \uc0ac\uc6a9\ud558\uc5ec KRW\/USD \ud658\uc728\uc5d0 \ub300\ud55c \ub9c9\ub300 \ucc28\ud2b8\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\uccab \ubc88\uc9f8 Y\ucd95 \ub9c9\ub300 \uadf8\ub798\ud504 \uc704\uc5d0 \ub808\uc774\ube14 \ucd94\uac00<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>for i, value in enumerate(exchange_rate_data&#91;'value']):\n    ax1.text(i, value + (value * 0.02), f\"{value:,.1f}\", ha='center', color='blue')<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ucf54\ub4dc\ub294 \uac01 \ub9c9\ub300 \uc704\uc5d0 \ud574\ub2f9 \uac12\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4. <code>value + (value * 0.02)<\/code>\ub294 \uac12\ubcf4\ub2e4 \uc57d\uac04 \uc704\ucabd\uc5d0 \ub808\uc774\ube14\uc744 \uc704\uce58\uc2dc\ud0a4\uae30 \uc704\ud574 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. <code>f\"{value:,.1f}\"<\/code>\ub294 \uac12\uc744 \ucc9c \ub2e8\uc704\ub85c \uad6c\ubd84\ud558\uace0 \uc18c\uc218\uc810 \uccab\uc9f8 \uc790\ub9ac\uae4c\uc9c0 \ud45c\uc2dc\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\ub450 \ubc88\uc9f8 Y\ucd95: \uc678\ud658\ubcf4\uc720\uc561 \uadf8\ub9ac\uae30<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>ax2 = ax1.twinx()\nreserves_data = df&#91;df&#91;'indicator'] == \"\uc678\ud658\ubcf4\uc720\uc561\"]\nax2.bar(reserves_data&#91;'indicator_english'], \n        reserves_data&#91;'value'], \n        color='red', label=\"Foreign Exchange Reserves\", alpha=0.7)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c\ub294 \ub450 \ubc88\uc9f8 y\ucd95(<code>ax2<\/code>)\uc744 \uc0dd\uc131\ud558\uc5ec <code>ax1<\/code>\uacfc \ub3d9\uc77c\ud55c x\ucd95\uc744 \uacf5\uc720\ud558\uac8c \ud569\ub2c8\ub2e4. \uc678\ud658\ubcf4\uc720\uc561\uc5d0 \ub300\ud574 \ube68\uac04\uc0c9\uc73c\ub85c \ub9c9\ub300\ub97c \uadf8\ub9bd\ub2c8\ub2e4.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\ub450 \ubc88\uc9f8 Y\ucd95 \ub9c9\ub300 \uadf8\ub798\ud504 \uc704\uc5d0 \ub808\uc774\ube14 \ucd94\uac00<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>for i, value in enumerate(reserves_data&#91;'value']):\n    ax2.text(i + 1, value + (value * 0.02), f\"{value:,.0f}\", ha='center', color='red')<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \ubc88\uc9f8 y\ucd95\uc758 \ub9c9\ub300 \uc704\uc5d0\ub3c4 \ud574\ub2f9 \uac12\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4. <code>i + 1<\/code>\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc678\ud658\ubcf4\uc720\uc561\uc758 \uc704\uce58\ub97c \uc870\uc815\ud558\uace0, <code>value + (value * 0.02)<\/code>\ub85c \ub808\uc774\ube14\uc758 \uc704\uce58\ub97c \uc870\uc815\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\uadf8\ub798\ud504 \uc81c\ubaa9 \ubc0f \uc2a4\ud0c0\uc77c\ub9c1<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>plt.title(f\"Bank of Korea Key Indicators ({df&#91;'date'].iloc&#91;0].date()})\")\nplt.tight_layout()\nplt.show()<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub798\ud504 \uc81c\ubaa9\uc744 \uc124\uc815\ud558\uace0 \ub808\uc774\uc544\uc6c3\uc744 \uc870\uc815\ud55c \ud6c4 \uadf8\ub798\ud504\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>\u97d3\u56fd\u9280\u884cAPI\u3092\u5229\u7528\u3059\u308c\u3070\u3001\u7d4c\u6e08\u30c7\u30fc\u30bf\u3092\u7c21\u5358\u306b\u7167\u4f1a\u3057\u3001\u8996\u899a\u5316\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059....\u3002<\/p>","protected":false},"author":3,"featured_media":4320,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[707,651,708,249,177,164,706],"class_list":["post-4313","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-coding","tag-python-","tag-708","tag-249","tag-177","tag-164","tag--api"],"taxonomy_info":{"category":[{"value":3,"label":"\ud30c\uc774\uc36c(Python)"}],"post_tag":[{"value":707,"label":"Python \uc2dc\uac01\ud654"},{"value":651,"label":"Python \ucf54\ub4dc"},{"value":708,"label":"\uacbd\uc81c \ub370\uc774\ud130"},{"value":249,"label":"\uae08\uc735 \ub370\uc774\ud130"},{"value":177,"label":"\ub370\uc774\ud130 \ubd84\uc11d"},{"value":164,"label":"\ub370\uc774\ud130 \uc2dc\uac01\ud654"},{"value":706,"label":"\ud55c\uad6d\uc740\ud589 API"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/\ud55c\uad6d\uc740\ud589-API-\ud3ec\uc2a4\ud2b8-\uc378\ub124\uc77c-600x600.jpg",600,600,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/ja\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":3,"name":"\ud30c\uc774\uc36c(Python)","slug":"python-coding","term_group":0,"term_taxonomy_id":3,"taxonomy":"category","description":"","parent":20,"count":119,"filter":"raw","cat_ID":3,"category_count":119,"category_description":"","cat_name":"\ud30c\uc774\uc36c(Python)","category_nicename":"python-coding","category_parent":20}],"tag_info":[{"term_id":707,"name":"Python \uc2dc\uac01\ud654","slug":"python-%ec%8b%9c%ea%b0%81%ed%99%94","term_group":0,"term_taxonomy_id":707,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":651,"name":"Python \ucf54\ub4dc","slug":"python-%ec%bd%94%eb%93%9c","term_group":0,"term_taxonomy_id":651,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":708,"name":"\uacbd\uc81c \ub370\uc774\ud130","slug":"%ea%b2%bd%ec%a0%9c-%eb%8d%b0%ec%9d%b4%ed%84%b0","term_group":0,"term_taxonomy_id":708,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":249,"name":"\uae08\uc735 \ub370\uc774\ud130","slug":"%ea%b8%88%ec%9c%b5-%eb%8d%b0%ec%9d%b4%ed%84%b0","term_group":0,"term_taxonomy_id":249,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":177,"name":"\ub370\uc774\ud130 \ubd84\uc11d","slug":"%eb%8d%b0%ec%9d%b4%ed%84%b0-%eb%b6%84%ec%84%9d","term_group":0,"term_taxonomy_id":177,"taxonomy":"post_tag","description":"","parent":0,"count":36,"filter":"raw"},{"term_id":164,"name":"\ub370\uc774\ud130 \uc2dc\uac01\ud654","slug":"%eb%8d%b0%ec%9d%b4%ed%84%b0-%ec%8b%9c%ea%b0%81%ed%99%94","term_group":0,"term_taxonomy_id":164,"taxonomy":"post_tag","description":"","parent":0,"count":52,"filter":"raw"},{"term_id":706,"name":"\ud55c\uad6d\uc740\ud589 API","slug":"%ed%95%9c%ea%b5%ad%ec%9d%80%ed%96%89-api","term_group":0,"term_taxonomy_id":706,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/4313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/comments?post=4313"}],"version-history":[{"count":1,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/4313\/revisions"}],"predecessor-version":[{"id":4319,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/4313\/revisions\/4319"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media\/4320"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media?parent=4313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/categories?post=4313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/tags?post=4313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}