[개발이야기#089] 스팀잇 검색엔진 개발을 해보자 - n8n 사용기와 스팀잇 검색 UI
안녕하세요 가야태자 @talkit 입니다.
어제 글에 n8n을 리눅스에 설치 했습니다.
음 docker는 멋진 툴인 것 같습니다.
모든 도구를 일단 docker로 설치를 했습니다.
이제 거의 UI만 남았습니다. ^^
UI도 거의 다 되었는데 조금 더 데이터를 수집하고 공개 하겠습니다.
#kr 태그의 최신 글들은 현재 자동 수집 중입니다.
n8n은 정말 좋은 툴인 것 같습니다.
지금 제가 돌리고 있는 Workflow 들입니다.
검색엔진을 위해서 우선 SDS API에서 MySQL로 수집을 합니다. 여기서 모든 내용이 다 있기는 하지만, 제 귀차니즘과 실력 부족으로 n8n을 공부를 좀 더 해야할 것 같습니다.
JSON 파싱을 해서 파싱한 데이터를 마리아디비에 넣는데 조금 힘들어서 우선 author, permlink 만 테이블에 수집하고
Steemit API를 이용해서 개개별 글들을 수집해 오고 있습니다.
Steemit API를 직접 이용하는 것보다 이게 더 빠릅니다.
일단 SDS에서 MySQL로 넣는 것은 노코드로 해결 했습니다.
이게 노코드인지는 모르겠지만, n8n에서 제공하는 기능만을 가지고 해결 했습니다.
그런데 다른 부분은 조금 힘들어서 일단 스케쥴러로 n8n을 사용하고 있습니다.
그럼 어떻게 마리아디비 데이터를 가지고 수집하냐 ^^
python으로 리눅스에 프로그램을 짜고 n8n의 SSH기능을 이용해서 서버에 접속해서 해당 명령어를 실행하고 나옵니다. ^^
조금 더 공부해서 n8n으로 SDS API를 잘 파싱해서 직접 마리아 디비의 posting 테이블에 넣을 수 있기를 ^^
그리고 또 한가지 마리아디비에서 엘라스틱 서치로는 어떻게 하냐? 동일 합니다.
이건 시간이 있었으면 n8n만 이용해도 될 것 같은데 기존에 구현해 둔 툴이 있어서
역시 SSH를 이용해서 실행하는 방향으로 설정 했습니다.
그래서 apache airflow라는 툴에 더 손이 갑니다.
일이 좀 덜 바빠지면 ^^ 한번 apache airflow도 한번 해봐야 겠습니다.
그리고, 살짝 UI를 구현해 두었습니다.
bootstrap으로 구현 했습니다.
한페이지에 100개씩 표현하도록 했고, 제가 처음에 수집할때 댓글도 수집해서 저렇게 나옵니다. ^^
스팀잇에서는 한참을 내려야 맨 마지막 글에 도달할 수 있는데 페이지와 스크롤 조금으로 제 스팀잇 가입 신고 글을 봤을때는 너무 기뻤습니다. ^^
https://steemit.com/kr/@talkit/2mqdcc
정말 오랫만에 제 첫글을 봤네요.
감사합니다.
관련글
[개발이야기#088] 스팀잇 검색엔진 개발을 해보자 - 자동화 도구 n8n을 우분투에 설치해보자.
https://steemit.com/kr/@talkit/088-n8n
[개발이야기#087] 스팀잇 검색엔진 개발을 해보자 - 데이터 수집 자동화 툴 n8n vs Apache airflow — Steemit
[개발이야기#086] 스팀잇 검색엔진 개발을 해보자 - 스팀 데이터 수집기와 자동화 관련해서 n8n
https://steemit.com/ecblog/@talkit/086-n8n
[개발이야기#085] 스팀잇 검색엔진 개발을 해보자 - 스팀 데이터 수집기 2차 수정 및 테스트
https://steemit.com/kr/@talkit/085-2
[개발이야기#084] 스팀잇 검색엔진 개발을 해보자 - 스팀 데이터 수집기 1차 개발 및 테스트
https://steemit.com/kr/@talkit/084-1
Posted through the ECblog app (https://blog.etain.club)





와우~ 대단하세요!
스팀잇 가입신고글! 자그마치 8년전의 글이네요~
정말... 현재 스팀잇에서는 8년전의 글 찾으려면... 그냥 포기하는 것이 더 빠를듯 싶은데...
멋진 결과물을 보니 음... 한번 따라해보고 싶은 충동이... 생기네요!
응원합니다~! ^^
[booming-kr-auto]
@booming-kr이 보팅드렸습니다 🙌
(보팅받는 기준: 50% 이상 또는 65,000 Mrshares 이상으로 보팅)
Upvoted! Thank you for supporting witness @jswit.