본문 바로가기

기타/자동화

구글 스프레드 시트로 자동 검색되는 단어장 만들기 (수정)

반응형

예전에 작성한 구글 스프레드 시트로 자동 검색되는 단어장 만들기 글이 있는데,

이 글의 수식이 동작하지 않는다는 제보가 있어서 수식 업데이트 하여 작성해봅니다. 

예전 글 : https://int-num.tistory.com/67

 

구글 스프레드시트로 자동 검색되는 단어장 만들기

엑셀에 단어 정리해서 외울 때 일일이 타이핑 하기 귀찮아서, 자동으로 뜻을 검색해서 채워줄 수 있는 방법을 찾아보았습니다. 구글 스프레드시트(Google Spreedsheet)의 ImportXML함수를 이용하면 간단

int-num.tistory.com

 

 

구글 스프레드 시트의 ImportXML은?

구글 스프레드 시트의 ImportXML 함수는 웹 페이지에서 특정 컨텐츠를 크롤링하는데 유용한 함수입니다. 

importXML 함수는 구글 스프레드시트에서 XML 데이터를 가져와서 분석하고, 특정 요소를 추출하는 데 사용됩니다.

함수는 다음과 같은 구문으로 작성됩니다.

 

=IMPORTXML(url, xpath_query)

여기서 url은 XML 데이터가 포함 된 웹 페이지의 URL이고, xpath_query는 추출하려는 요소를 식별하는 XPath 쿼리입니다.

예를 들어, 구글 뉴스의 RSS 피드에서 최신 뉴스 제목을 가져 오려면 다음과 같은 식을 사용할 수 있습니다.

=IMPORTXML("https://news.google.com/rss?hl=ko&gl=KR&ceid=KR:ko", "//item/title")

 

 

네이버  사전 검색결과의 url과 xpath_query

우리가 원하는건 네이버 사전의 검색결과의 결과값을 가져오는 것입니다. 

네이버 사전에 단어를 바꿔가면서 검색해보면 주소가 아래와 같은 규칙을 가지네요.

https://dict.naver.com/search.nhn?dicQuery=[단어명] 

 

 

단어 뜻 영역의 Xpath는 페이지 소스에서 Xpath 복사하기를 통해 가져올 수 있습니다.

 

 

여기까지 하면 아래와 같이 나오게 됩니다.

 

[수식]

=IMPORTXML("http://dic.naver.com/search.nhn?dicQuery="&A1, "//*[@id='content']/div[1]/dl/dd[1]")

 

 

 

구글 스프레드 시트에서 배열 합치기 - textjoin

단어 뜻이 여러줄에 걸쳐 있기때문에 스프레드시트에서도 여러 칸에 걸쳐서 보여서 불편하네요.

ImportXml 결과를 하나의 셀에 표시할 수 있도록 합쳐보겠습니다.

 

[수식]

=textjoin(CHAR(10),1, IMPORTXML("http://dic.naver.com/search.nhn?dicQuery="&A1, "//*[@id='content']/div[1]/dl/dd[1]"))

 

하나의 셀에 하나의 단어 뜻이 깔끔하게 나오네요.

 

 

아래 링크에 가면 구글 스프레드 시트에서도 열어볼 수 있습니다.

 

https://e-studytools.com/archieve

 

반응형