예전에 작성한 구글 스프레드 시트로 자동 검색되는 단어장 만들기 글이 있는데,
이 글의 수식이 동작하지 않는다는 제보가 있어서 수식 업데이트 하여 작성해봅니다.
예전 글 : https://int-num.tistory.com/67
구글 스프레드 시트의 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
'기타 > 자동화' 카테고리의 다른 글
구글 스프레드시트로 자동 검색되는 단어장 만들기 (4) | 2021.09.01 |
---|