소개
본인의 업무를 자동화하다보니 더 자동화할 것등을 찾는 과정에서 지인이 일손이 부족하여서 부동산, 인스타그램, 유튜브를 꾸준히 올릴 여력이 부족하다고 하여 N8N으로 자동화를 도전하기로 하였습니다.
기존의 제 업무는 Make 프로그램으로 자동화를 하였기에 별도의 스터디 없이 바로 N8N으로 작업에 착수하여서 온갖 삽질을 시작하였습니다.
<사용도구>
N8N(N8N 제공 무료 14일 이용) : 자동화 구현 프로그램
네이버지도 API : 매물 위치의 네이버지도를 캡처한 이미지 생성
Openweathermap(날씨) API : 블로그 서론(인사말)에 날씨 이야기를 위해 사용
GCP(구글 콘솔) 프로젝트 및 API : 구글 문서 생성 및 등록을 위해 이용
구글 스프레드시트 & 구글 드라이브 : 사진 및 매물정보 기입 및 자동화 결과물 등록
Azure API : 사진 속 객체를 특정하여서 분석하는 API로 매물의 사진 정보를 분석하는데 사용
<프로그램 흐름 개요>
매일 아침 6시에 구글 스프 레드시트에서 새로운 매물 정보 확인
날씨 정보 확인
하나의 매물씩 자동화 프로그램 작동
작업시간 입력
건물의 층 정보를 분리하기
매물의 주소 분석하여서 지도 생성하기
매물의 사진을 분석하기
사진 분석정보로 사진 설명 작성
인사말, 마무리인사, 임대정보, 해시태그, 제목 등을 생성
구글 문서에 하나의 글로 생성
작업완료 입력
<들여다보기>
매일 6시마다 새로운 매물 정보(작업상태 열의 정보가 '대기'인 것을 감지하여 작동하도록 만들었습니다.
또한 인사말에 사용할 날시 정보를 Openweathermap API를 상뇽해서 불러왔습니다.
N8N의 문제인지 제 문제인지 모르겠는데, 특정 노드의 정보가 일정 구역을 넘어가면 자료가 전달이 되지 않아서 edit 노드(날시 정보 흘러가기)로 똑같은 정보를 받은 다음에 처리하였습니다.
사용자가 자동화 또는 AI툴 등에 익숙하지 않은 사람이어서 그나마 엑셀과 비슷한 구글 스프레드시트를 트리거로 이용하였습니다. 매물의 기준은 매물번호로 하고, 트리거 기능은 '대기' 작업상태를 적용하였습니다.5.
작업은 무조건 하나씩 처리하기 위해 필터링을 하고, 아까 날씨정보와 마찬가지로 제일 핵심이되는 '매물 정보 확인(구글 시트에 저장된 매물 정보들)'가 전달이 되었다가 안되었다 하는 상황이 생겨서 정보를 한 번 복제하는 노드를 하나 만들어서 적용하였습니다. 아직도 원인이 무엇인지는 모릅니다.
작업시간을 입력하여서 현재 프로그램이 작동중인 것을 가시적으로 사용자가 알 수 있도록 하였습니다.
대부분의 정보는 열 하나에 정보 하나를 기입하여서 자동화 또는 챗GPT가 이용하기 좋게 하였는데, 건물마다 층수와 지하층의 정보등이 각기 다르기 때문에 이 정보를 하나의 셀에 입력하게 하고, 자동화 과정에서 쉼표(,)를 기준으로 층(1층,2층,3층 ---)과 평(100평, 200평 ---)을 묶어서 정리하게 했습니다.
주소를 적으면 위도로 변환시켜서 네이버지도 API를 호출하고, 매물의 정확한 위치를 노출하면 안되기 때문에 난수를 적용하여서 네이버지도의 중심 위치를 매물의 위치와 다르게 설정하였습니다.
매물 입지 기반 키워드와 매물위치 픽셀변환은 최종적으로 사용하지 않는데, 픽셀 변환은 위도/경도를 픽셀값으로 변환해서 적용하는 것인데, 실제 지도와 오차가 계속 발생해서 폐기하였습니다. 또한 입지 기반 키워드도 특정 음식점, 건물 등을 나타낼 수 는 있으나 부동산 관점에서의 입지 분석과는 거리가 있는 것으로 보여서 최종적으로 사용하지 않았습니다.
네이버지도를 생성한 뒤 구글 드라이브에 올리는 과정과 이어서 바로 사진을 찾아서 분석하는 구조여서 이 과정을 '사진 폴더'를 찾은 뒤에 병렬적으로 처리하도록 하여 자동화 시간을 매우적은 시간 줄이는데 이용하고, 노드의 연결성을 강화했습니다.
대량의 사진을 구글 드라이브에 올려놓으면, 사진 이름(사진 파일 이름을 미리 지정된 이름들을 사용)에 따라서 건물소개, 내부사진, 외부사진, 부대시설 4가지 타입으로 나누어주고, 각 층, 호실, 공간마다 묶어서 중복되는 사진은 제외하고 대표사진을 가지고 사진을 분석하여서 분석 비용과 시간을 절약했습니다.
사진 분석은 Azure API(사진 속 객체를 태그로 지정하여 분석)를 사용하여서 분석 결과를 태그값으로 받은 뒤에 간략한 한 줄 영어 설명을 만들고, 이를 챗GPT가 부동산 중개 사무소의 직원에 빙의하여서 분석글을 생성하였습니다.
사진이름과 설명을 간략하게 정리하여서 블로그 글 생성시 해당 위치에 배열하였습니다.ㅇ