¾È³çÇϼ¼¿ä.
ÀÏ¹Ý Á÷µùÀε¥(ȸ»ç¿¡¼ ÁÖ·Î ¿¢¼¿¸¸..) gpt°øºÎ¸¦ ÇÏ´Ù°¡ ±¸±Û½ÃÆ®¿¡¼ ÁÖ½ÄÁ¤º¸¸¦ ¶¯°Ü¿À´Â °ÍÀ» ÇÔ ¸¸µé¾î º¸¸é ¾î¶³±îÇؼ Çغôµ¥¿ä
PER,PBR,¹è´çÀ² °¡Á®¿À´Âµ¥ ½Ã°¡ÃѾ×Àº °è¼Ó ¸ø°¡Á® ¿À³×¿ä.. ¹«½¼ ¹®Á¦ÀÎÁö ¾Ë ¼ö ÀÖÀ»±î¿ä?
¾Æ·¡´Â gpt°¡ ÀÛ¼ºÇØÁØ ÄÚµåÀÌ°í¿ä
functiongetStockData(ticker) {
varurl = "https://finance.naver.com/item/main.nhn?code=" + ticker;
varresponse = UrlFetchApp.fetch(url).getContentText();
// Á¤±Ô Ç¥Çö½Ä
varperRegex = /<em id="_per">([\d\.]+)<\/em>/;
varpbrRegex = /<em id="_pbr">([\d\.]+)<\/em>/;
varmarketCapRegex = /<em id="_market_sum">\s*([\d,]+)Á¶\s*([\d,]+)\s*<\/em>\s*¾ï¿ø/;
varepsRegex = /<em id="_cns_eps">([\d,]+)<\/em>¿ø/;
vardividendYieldRegex = /<em id="_dvr">([\d\.]+)<\/em>%/;
// PER °ª ÃßÃâ
varperMatch = perRegex.exec(response);
varperValue = perMatch ? perMatch[1] : "N/A";
console.log("PER °ª:", perValue);
// PBR °ª ÃßÃâ
varpbrMatch = pbrRegex.exec(response);
varpbrValue = pbrMatch ? pbrMatch[1] : "N/A";
console.log("PBR °ª:", pbrValue);
// ½Ã°¡ÃÑ¾× °ª ÃßÃâ
varmarketCapMatch = marketCapRegex.exec(response);
console.log("½Ã°¡ÃÑ¾× °ª ÃßÃâ:", marketCapMatch);
varmarketCapValue = "N/A";
if (marketCapMatch) {
vartrillionPart = marketCapMatch[1].replace(/,/g, ''); // 'Á¶' ºÎºÐ¿¡¼ ÄÞ¸¶ Á¦°Å
varbillionPart = marketCapMatch[2].replace(/,/g, ''); // '¾ï' ºÎºÐ¿¡¼ ÄÞ¸¶ Á¦°Å
marketCapValue = trillionPart + "Á¶ " + billionPart + "¾ï";
}
console.log("½Ã°¡ÃÑ¾× °ª:", marketCapValue);
// EPS °ª ÃßÃâ
varepsMatch = epsRegex.exec(response);
varepsValue = epsMatch ? epsMatch[1].trim() : "N/A";
console.log("EPS °ª:", epsValue);
// ¹è´ç¼öÀÍ·ü °ª ÃßÃâ
vardividendYieldMatch = dividendYieldRegex.exec(response);
vardividendYieldValue = dividendYieldMatch ? dividendYieldMatch[1].trim() + "%" : "N/A";
console.log("¹è´ç¼öÀÍ·ü °ª:", dividendYieldValue);
return [marketCapValue, perValue, pbrValue, epsValue, dividendYieldValue];
}
functiongetStockData(ticker) {
varurl = "https://finance.naver.com/item/main.nhn?code=" + ticker;
varresponse = UrlFetchApp.fetch(url).getContentText();
// Á¤±Ô Ç¥Çö½Ä
varperRegex = /<em id="_per">([\d\.]+)<\/em>/;
varpbrRegex = /<em id="_pbr">([\d\.]+)<\/em>/;
varmarketCapRegex = /<em id="_market_sum">\s*([\d,]+)Á¶\s*([\d,]+)\s*<\/em>\s*¾ï¿ø/;
varepsRegex = /<em id="_cns_eps">([\d,]+)<\/em>¿ø/;
vardividendYieldRegex = /<em id="_dvr">([\d\.]+)<\/em>%/;
// PER °ª ÃßÃâ
varperMatch = perRegex.exec(response);
varperValue = perMatch ? perMatch[1] : "N/A";
console.log("PER °ª:", perValue);
// PBR °ª ÃßÃâ
varpbrMatch = pbrRegex.exec(response);
varpbrValue = pbrMatch ? pbrMatch[1] : "N/A";
console.log("PBR °ª:", pbrValue);
// ½Ã°¡ÃÑ¾× °ª ÃßÃâ
varmarketCapMatch = marketCapRegex.exec(response);
console.log("½Ã°¡ÃÑ¾× °ª ÃßÃâ:", marketCapMatch);
varmarketCapValue = "N/A";
if (marketCapMatch) {
vartrillionPart = marketCapMatch[1].replace(/,/g, ''); // 'Á¶' ºÎºÐ¿¡¼ ÄÞ¸¶ Á¦°Å
varbillionPart = marketCapMatch[2].replace(/,/g, ''); // '¾ï' ºÎºÐ¿¡¼ ÄÞ¸¶ Á¦°Å
marketCapValue = trillionPart + "Á¶ " + billionPart + "¾ï";
}
console.log("½Ã°¡ÃÑ¾× °ª:", marketCapValue);
// EPS °ª ÃßÃâ
varepsMatch = epsRegex.exec(response);
varepsValue = epsMatch ? epsMatch[1].trim() : "N/A";
console.log("EPS °ª:", epsValue);
// ¹è´ç¼öÀÍ·ü °ª ÃßÃâ
vardividendYieldMatch = dividendYieldRegex.exec(response);
vardividendYieldValue = dividendYieldMatch ? dividendYieldMatch[1].trim() + "%" : "N/A";
console.log("¹è´ç¼öÀÍ·ü °ª:", dividendYieldValue);
return [marketCapValue, perValue, pbrValue, epsValue, dividendYieldValue];
}
¾Æ·¡´Â ±¸±Û½ÃÆ® ȸéÀÔ´Ï´Ù.
|
Á¶¸¸ ÀÖ´Â °æ¿ì
¾ïÀÌ ÀÖ´Â °æ¿ì
ÆÇ´ÜÇϼż ó¸®ÇÏ¼Å¾ß ÇÕ´Ï´Ù.
regexºÎºÐÀÌ À߸øµÈ°Å °°Àºµ¥ ÀÌ regex¹®À¸·Î µû·Î êgpt¿¡ ¹°¾îº¸¸é Àß ³ª¿É´Ï´Ù.¤Ì¤Ì
ÀÏ´Ü ¸ÕÀú Àüü°ªÀ» °¡Á®¿À°í ±× ¾È¿¡¼ Á¶¿Í ¾ïÀ» ÆÇ´ÜÇؾßÇÒµíÇÕ´Ï´Ù