[ํ‹ฐ์Šคํ† ๋ฆฌ ์ž๋™๋ฐœํ–‰] ๋ถ€๋™์‚ฐ ์ฒญ์•ฝ ์ •๋ณด OPEN API๋กœ ์ž๋™ ๋ฐœํ–‰ํ•˜๊ธฐ , google apps script
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋””์ง€ํ„ธ ๊ฟ€ํŒ

[ํ‹ฐ์Šคํ† ๋ฆฌ ์ž๋™๋ฐœํ–‰] ๋ถ€๋™์‚ฐ ์ฒญ์•ฝ ์ •๋ณด OPEN API๋กœ ์ž๋™ ๋ฐœํ–‰ํ•˜๊ธฐ , google apps script

by ์ผ์ƒ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค 2022. 8. 24.

์•ˆ๋…•ํ•˜์„ธ์š”. ๋ถ€๋™์‚ฐ ์ฒญ์•ฝ ์ •๋ณด๋„ OPEN API ํ™œ์šฉํ•˜์—ฌ ์ •๋ณด๋ฅผ ๋ฐ›์•„ ์˜ฌ ์ˆ˜ ์žˆ๋Š”๊ฑฐ ์•„์‹œ๋‚˜์š”? ํ•ด๋‹น ์‚ฌ์ดํŠธ์—์„œ๋Š” ๊ณต๊ณต๋ฐ์ดํ„ฐ๋Š” ๋‹ค ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ๋งค๋ฒˆ ํ‹ฐ์Šคํ† ๋ฆฌ์— ์ฒญ์•ฝ ์ •๋ณด๋ฅผ ์ˆ˜๋™์œผ๋กœ ์˜ฌ๋ฆฌ๋Š๋ผ ๊ณ ๋ฏผํ–ˆ๋Š”๋ฐ, ๋งˆ์นจ ํ•ด๋‹น ์‚ฌ์ดํŠธ๊ฐ€ ์žˆ์–ด ์ž๋™ํ™” ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ต๋‹ˆ๋‹ค.

์ •๋ณด

  1. ๊ฐœ๋ฐœ ํˆด  : Google apps script
  2. ์‚ฌ์šฉ API : ๊ณต๊ณต๋ฐ์ดํ„ฐ ํฌํ„ธ OPEN API , ๋‹ค์Œ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰ OPEN API , ์œ ํŠœ๋ธŒ ๊ฒ€์ƒ‰ OPEN API , ํ‹ฐ์Šคํ† ๋ฆฌ OPEN API

๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ๊ตฌ๊ธ€ ์•ฑ์Šคํฌ๋ฆฝํŠธ๋Š” ์„ค์น˜ ์—†์ด ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ์–ด ์ œ๊ฐ€ ์ฆ๊ฒจ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ, nodejs ๋“ฑ๋„ ์ข‹์ง€๋งŒ ํ˜น์‹œ ๋„ˆ๋ฌด ๋ถ€๋‹ด์Šค๋Ÿฌ์šธ ๊ฒฝ์šฐ google app script๋ฅผ ํ™œ์šฉํ•ด๋ณด์„ธ์š” 

๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•

1. data.go.kr ์ ‘์†ํ•˜์—ฌ ๋กœ๊ทธ์ธ ํ•˜๊ธฐ

 

2. ํ•œ๊ตญ๋ถ€๋™์‚ฐ์›_์ฒญ์•ฝํ™ˆ ๋ถ„์–‘์ •๋ณด ์กฐํšŒ ์„œ๋น„์Šค ๊ฒ€์ƒ‰ํ•˜์—ฌ ํ™œ์šฉ ์‹ ์ฒญ

๊ฐœ๋ฐœ ๊ณ„์ •๋„ ํ•˜๋ฃจ 10,000๊ฑด ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ‹ฐ์Šคํ† ๋ฆฌ์— ๋“ฑ๋กํ•˜๋Š” ๊ฑด์ˆ˜๋กœ๋Š” ๋ฌด๋ฆฌ๊ฐ€ ์—†์–ด ์ €๋Š” ์šด์˜๊ณ„์ • ์‹ ์ฒญ์€ ๋ณ„๋„๋กœ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ž๋™ ์Šน์ธ์ด ๋˜๋ฏ€๋กœ ๋ณ„๋„ ์ ˆ์ฐจ ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

3. ์„œ๋น„์Šค ์ •๋ณด๊ฐ€๋ฉด ์ธ์ฆํ‚ค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. API๋กœ ์ •๋ณด ์š”์ฒญ ์‹œ ์ฒญ์•ฝ ์ •๋ณด๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

4. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ API ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์šฐ์„  APT ์„œ์šธ๊ถŒ๋งŒ ๋ถ„์–‘์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ค๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์—” ์˜คํ”ผ์Šคํ…”๋„ ํ•ด์„œ ์ž๋™ ๋ฐœํ–‰ ํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

5. ์•„๋ž˜ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ตฌ๊ธ€ app script์— ๋„ฃ์–ด๋ณด์„ธ์š”  json ํ™•์ธํ•ด๋ณด์„ธ์š”

function getLHInfo()
{
  var serviceKey = "์ธ์ฆํ‚ค๊ฐ’";//๋ฐœ๊ธ‰๋ฐ›์€ key๊ฐ’
  var returnType= "JSON"; //๋ฐ์ดํ„ฐ ํ˜•ํƒœ
  var cond_area = "์„œ์šธ"; //์ฒญ์•ฝ์ •๋ณด์ง€์—ญ
  var eDay = "xxxx-xx-xx"; //๋๋‚ ์งœ
  var sDay = "xxxx-xx-xx"; //์‹œ์ž‘๋‚ ์งœ


  var url = "https://api.odcloud.kr/api/ApplyhomeInfoDetailSvc/v1/getAPTLttotPblancDetail?page=1&perPage=10&returnType="+ returnType + "&cond[SUBSCRPT_AREA_CODE_NM::EQ]="+ cond_area + "&cond[RCRIT_PBLANC_DE::LTE]="+ eDay + "&cond[RCRIT_PBLANC_DE::GTE]="+ sDay + "&serviceKey=" + serviceKey;


  var response = UrlFetchApp.fetch(url,
  { 
    method: "GET",
    headers:{
      "contentType": "application/json"
    }
  });

  var json = response.getContentText();
  var data = JSON.parse(json);
  
  console.log("๋ฐ์ดํ„ฐ ํ™•์ธ : " , data);
  
  }

 

6. ์ด๋ฏธ์ง€๋‚˜ ์œ ํŠœ๋ธŒ ๋งํฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ

์•„๋ž˜ ๋‹ค์Œ ๊ฒ€์ƒ‰ ๋ฐ ์œ ํŠœ๋ธŒ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ์˜์ƒ๊ณผ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

 

[์นด์นด์˜ค๋ทฐ] ๋ณด๋“œ ์ž๋™ ๋ฐœํ–‰ 1๋‹จ๊ณ„. ๊ตฌ๊ธ€ ์•ฑ ์Šคํฌ๋ฆฝํŠธ๋กœ ๋„ค์ด๋ฒ„ ๋‰ด์Šค, ๋‹ค์Œ ์›น๋ฌธ์„œ ๊ฐ€์ ธ์˜ค๊ธฐ(OPEN AP

์นด์นด์˜ค๋ทฐ ์ž๋™๋ฐœํ–‰์„ ํ•˜๋ ค๋‹ค ๋ณด๋‹ˆ ์–ด๋–ค ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ• ์ง€ ๊ณ ๋ฏผํ–ˆ๋‹ค. ๊ธฐ์กด๊นŒ์ง€ ์ˆ˜๋™์œผ๋กœ ํ•˜๋˜ ๋ณด๋“œ ๋ฐœํ–‰์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ž๋™ ๋ฐœํ–‰์„ ์ƒ๊ฐํ•ด๋ณด๊ธฐ๋กœ ํ•˜์˜€๋‹ค. 1. ์ฝ˜ํ…์ธ  : ๋„ค

odaily.tistory.com

 

[์นด์นด์˜ค๋ทฐ] ๋ณด๋“œ ์ž๋™ ๋ฐœํ–‰ 4๋‹จ๊ณ„, ์œ ํŠœ๋ธŒ(Youtube) API ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ๋กœ ์˜์ƒ ๊ฐ€์ ธ์˜ค๊ธฐ , googl

์นด์นด์˜ค๋ทฐ ์ž๋™ ๋ฐœํ–‰์„ ๊ณ ๋ฏผํ•˜๋ฉด์„œ ๋‹ค์Œ ๋‰ด์Šค N๊ฐœ, ๋„ค์ด๋ฒ„ ๋‰ด์Šค N๊ฐœ, ํ‹ฐ์Šคํ† ๋ฆฌ N๊ฐœ, ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ N๊ฐœ, ์œ ํŠœ๋ธŒ N๊ฐœ ์ด๋ ‡๊ฒŒ ์„ค์ •ํ•˜์—ฌ ๋ฐœํ–‰ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ƒ๊ฐํ•˜์˜€๋‹ค. ๋งค์ผ 00:00๋ฉด ์ˆ˜๋™์œผ๋กœ playlist ๋ณด๋“œ

odaily.tistory.com

 

7. ํ‹ฐ์Šคํ† ๋ฆฌ ์ž๋™๋ฐœํ–‰

 

[google app script] ํ‹ฐ์Šคํ† ๋ฆฌ OPEN API๋กœ ๊ฒŒ์‹œ๊ธ€ ๋ฐœํ–‰ ๋ฐฉ๋ฒ•

์ง€๋‚œ๋ฒˆ์—๋Š” wiki ๋ฐฑ๊ณผ api๋กœ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ์„ ์ž๋™ํ™”ํ–ˆ์—ˆ๋Š”๋ฐ์š”. ์ด๋ฒˆ์—๋Š” ํ‹ฐ์Šคํ† ๋ฆฌ ๊ฒŒ์‹œ๊ธ€์„ ์ž๋™์œผ๋กœ ๋ฐœํ–‰ํ•ด๋ณด๋ ค๊ณ  API๋ฅผ ํ†ตํ•ด ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„  ์ง€๋‚œ๋ฒˆ ์ž๋™๋ฐœํ–‰

odaily.tistory.com

 

8. ์ž๋™๋ฐœํ–‰ํ•œ ์ฒญ์•ฝ์ฝ˜ํ…์ธ 

 

์„œ์šธ ์ฒœ์™•์—ญ ๋ชจ์•„์—˜๊ฐ€ ํŠธ๋ ˆ๋ทฐ ๋ถ„์–‘ ์ •๋ณด, ํ˜œ๋ฆผ๊ฑด์„ค(์ฃผ), ๊ณต๊ธ‰๋ฉด์  140

์˜ค๋Š˜์˜ ์•„ํŒŒํŠธ ๋ถ„์–‘์ •๋ณด ์ฒœ์™•์—ญ ๋ชจ์•„์—˜๊ฐ€ ํŠธ๋ ˆ๋ทฐ ๋‚ด์šฉ ๊ณต์œ  ๋“œ๋ฆฝ๋‹ˆ๋‹ค. [์ฃผํƒ ์ •๋ณด] ์‚ฌ์ง„ ์ถœ์ฒ˜ : ํ‹ฐ์Šคํ† ๋ฆฌ http://odaily.tistory.com/593 ๊ฑด์„ค์‚ฌ : ํ˜œ๋ฆผ๊ฑด์„ค(์ฃผ) ์‚ฌ์ดํŠธ๋งํฌ : http://์ฒœ์™•์—ญ๋ชจ์•„์—˜๊ฐ€ํŠธ๋ ˆ๋ทฐ.c

odaily.tistory.com

๋‹จ์ ์€ ์ธ๋„ค์ผ์„ ์ง€์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ๊ฐ€๋” ๋“ค๋ ค์„œ ์ธ๋„ค์ผ๋งŒ ๋“ฑ๋ก ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์•„์š”. ์œ„์™€ ๊ฐ™์ด HTML์„ ๋งŒ๋“ค์–ด์„œ ์ž˜ ๋˜๋Š” ๊ฒƒ์ด ํ™•์ธ์ด ๋˜๋ฉด apps script์˜ ํŠธ๋ฆฌ๊ฑฐ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ํ•˜๋ฃจ์— 1๋ฒˆ ๋™์ž‘ํ•˜๋„๋ก ์„ค์ •ํ•ด์ฃผ์„ธ์š”! 

 

์ด์ƒ์œผ๋กœ ์ฒญ์•ฝ์ •๋ณด OPEN API ํ™œ์šฉํ•˜์—ฌ ํ‹ฐ์Šคํ† ๋ฆฌ ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์˜€์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€