본문 바로가기

컴퓨터 활용/구글스프레드시트 응용

구글시트 국내 주가관리 시트에서 신규 종목 생성시 에러 수정

구글 스프레드 시트에서 쉽게 입력할 수 있도록 구글 앱 스크립트를 이용하여 간단한 앱을 만들었는데요
네이버 증권을 이용하고 있었는데 페이지가 바뀌어서 에러가 나는 것을 발견 했습니다.

서울경제에서 제공하는 Json 형식의 결과 데이터를 제공하는 페이지의 이용하여 수정을 하였습니다.

 

 

새 getStockCode() 함수 - 서울경제 이용 

/* 이름으로 주가 코드 알아내기 */
function getStockCode(nm){

  var nm = encodeURIComponent(nm);
  var url = "https://www.sedaily.com/Stock/Quote/JsonSearchData?text="+nm;
  var json = JSON.parse(UrlFetchApp.fetch(url).getContentText());
  
  return json["Items"][0].StockCode;
}
  

 

이전 getStockCode() 함수 

/* 이름으로 코드 알아내기 */

function getStockCode(nm){
  
  var stocknm = nm.trim();
  nm = encodeURIComponent(nm);
  var url = "https://m.stock.naver.com/searchItem.nhn?keyword_input=&keyword="+nm;
  var html = UrlFetchApp.fetch(url).getContentText();
  var pattern1 = /<a href="\/item\/index.nhn?code=(\d{6})".+<b class="stock_item">(.+)<\/b><\/span><\/a>/gi;    
  var a = "";
  var b = "";
  
  try
  {
    // 하나만 나올때는 상세 페이지로 이동 되므로 정규식에서 추출  
    var regx = pattern1.exec(html);
     a = regx[1];
     b = regx[2];
    Logger.log("코드:" + regx[0]);
  } catch(e){
  
  }
  
  return a;
}