๋ค์ด๋ฒ ๋ธ๋ก๊ทธ๋ ์๊ธฐ ๋ธ๋ก๊ทธ ์ฝํ ์ธ ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ๋๋ ์ค ์์๋๋ฐ, ์ ์ฒด ๋ธ๋ก๊ทธ์์ ํน์ ๋จ์ด๋ฅผ ๊ฐ์ง๊ณ search ํ๋ open API๊ฐ ์๋ ๊ฒ์ ํ์ธํ๊ฒ ๋์์ต๋๋ค. ์ฐ์ ๋ธ๋ก๊ทธ ๋ฆฌ์คํธ๋ฅผ ์ฑ๊ฒจ์ค๋ ๋ฐฉ๋ฒ์ด ์์ ์ค ์์๋๋ฐ ์์ด์ ์ฝ๊ฐ ์ฐํํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํด๋ด๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ฒ ๋์์ต๋๋ค.
1๋จ๊ณ . ์๋ ๋งํฌ์์ ๋ค์ด๋ฒ ๋ด์ค ์์๋๋ก ์์ ํ ํ ์๋ ์์ค๋ฅผ ์ด์ฉ
1๋จ๊ณ๋ฅผ ํ์ง ์์ผ๋ฉด ์๋๋ฅผ ํ์ธํด๋ ์ ์ฉํ ์ ์์ผ๋ ์ ๋
๋ถํ๋๋ฆฝ๋๋ค. 1๋จ๊ณ๋ฅผ ํ ํ์ ๋ค์ ํด๋น ๊ธ์ ์ฝ์ด์ฃผ์๊ธธ ๋ถํ๋๋ฆฝ๋๋ค.
1-2 ๋จ๊ณ. ๋ด ๋ธ๋ก๊ทธ๊ฐ ๊ฒ์์ด ์๋์ ์ถ๊ฐ์ ์ผ๋ก ์๊ฐํ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค.
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ query ์กฐ๊ฑด์ด ํฌ์คํ ํ ๋ณธ๋ฌธ(description)์์ ์ฃผ๋ก ๊ฒ์ํ๋ ๊ฒ์ ์ ๊ฒ ๋์๋ค. ๊ทธ๋์ ๊ธ์ ์์ฑ์ ๋ณธ๋ฌธ์ ๋๋ง์ ์๊ทธ๋์ฒ ๊ฐ์ ์๋์ ๊ฐ์ด ์์ฑํ๋ฉด, query ์กฐ๊ฑด์ "์ค๋ฐ์ผ๋ฆฌ(Odaily)์" ๋ก ์ค์ ํ๋ฉด ๋ ์ง ์ ์ ๋ ฌ ์ ๋ด ๋ธ๋ก๊ทธ๊ฐ ์ ๊ฒ์์ด ๋๋ฉฐ, ํน์๋ ๋ค๋ฅธ ๋ธ๋ก๊ทธ๊ฐ ๊ฒ์๋์ด ๋ ธ์ถ ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด์๋ bloglink์ ๋์ blogID๋ฅผ ๊ธฐ์ฌํ๋ฉด ๋ฑ ๋ด ๋ธ๋ก๊ทธ๋ง ์์นญ ๋๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
์์) ์ค๋ฐ์ผ๋ฆฌ(Odaily)์ ๊ธฐ๋ก
2๋จ๊ณ. ์ ๋ด์ฉ์ ๋ค ๋ฐ๋ผํ๊ณ ์๋ค๋ฉด ์๋ ์์ค๋ฅผ google app script ์ ์ถ๊ฐ
- URL ๋ณ๊ฒฝ ํ query์กฐ๊ฑด ๋ณ๊ฒฝ
- ๋์จ ๊ฒฐ๊ณผ์์ bloglink๋ก ํ๋ฒ ๋ ํํฐ๋ง
function getNaverBlog() {
var client_key = "๋ณธ์ธ KEY";
var client_secret = "๋ณธ์ธ secret";
var url = "https://openapi.naver.com/v1/search/blog.json?query="์๊ทธ๋์ฒ๊ฐ"&display=100&sort=date"
var response = UrlFetchApp.fetch(url,{'method' : 'GET',
'headers': {
'X-Naver-Client-Id' : client_key,
'X-Naver-Client-Secret' : client_secret
}
});
var resData = response.getContentText();
resData = JSON.parse(resData);
var arrInfo = new Array();
var arrTitle = new Array();
var arrLink = new Array();
var arrContent = new Array();
var arrDate = new Array();
for(var i = 0 ; i <resData.total; i ++ )
{
if(resData.items[i].bloggerlink.indexOf("odaily") != -1)
{
arrTitle.push(resData.items[i].title);
arrLink.push(resData.items[i].link);
arrContent.push(replaceTitle(resData.items[i].description));
arrDate.push(resData.items[i].postdate);
}
}
arrInfo.push(arrTitle);
arrInfo.push(arrLink);
arrInfo.push(arrContent);
arrInfo.push(arrDate);
var transposed = Array.from({ length: arrTitle.length }, () => new Array().fill(0))
for (var o=0; o< arrInfo.length; o++) {
for (var v=0; v<arrInfo[0].length; v++) {
[transposed[v][o]] = [arrInfo[o][v]];
}
}
return transposed;
}
์์ ๊ฐ์ด ํ ๊ฒฝ์ฐ ๊ณต๊ฐ๋ ๋์ ๋ธ๋ก๊ทธ ์ฝํ
์ธ ๋ฅผ ๊ฐ์ง๊ณ ์ฌ ์ ์์ต๋๋ค. ๊ตฌ๊ธ์คํ๋ ๋์ํธ์ ๋ถ๋ฌ์ ๋ณธ ๋ฆฌ์คํธ๋ฅผ ์บก์ณํ์ฌ ์ ๋ฌ๋๋ฆฝ๋๋ค.
์ด๋๋ก TITLE๊ณผ URL ์ ๋ณด๋ ์ค๋น๊ฐ ๋ค ๋์์ต๋๋ค.google app script๋ก๋ ์น์ด ์ ์ด๊ฐ ๋๋์ง ํ์ธํด๋ด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๊ฑธ ๊ณ ๋ฏผํ๋ ์ด์ ๋ python์์ ์ฌ์ฉํ๋ selenium ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์คํฌ๋ฆฝํธ ํํ๋ก ์ง์ฌ์ง ๊ฑฐ๋ผ๋ ์๊ธฐ๊ฐ ์์ด์ ์ ๋๋ค.๋ง์ฐํ๊ฒ ์๊ฐ๋ง ํ๊ณ ์์ง๋ง, ์์ฉ๋จ์ ๊ฑด๋๋ฆฌ๋ ๋ถ๋ถ์ด ์์์ง, ์น์์๋ง ๊ตฌ๋์ด ๋๋๊ฑด์ง ์ข ๋ ๊ณ ๋ฏผํด๋ณผ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ค์๋ณด๋๋ ๋ ๋ง์ด ๊ณต๋ถํ๊ณ ์ฐพ์ ๋ต๊ฒ ์ต๋๋ค.
๋๊ธ