(프로젝트리뷰)네이버 블로그 깃허브 블로그로 옮기기
title: “(프로젝트리뷰)네이버 블로그 깃허브 블로그로 옮기기” categories:
-
personalproject
#(프로젝트리뷰)네이버 블로그 깃허브 블로그로 옮기기 : 네이버 블로그
프로젝트명:
네이버 블로그 깃허브 블로그로 옮기기
관련 링크:
githubRepo: https://github.com/rage147-OwO/naver-blog-archiver
githubBlog: https://rage147-owo.github.io/
프로젝트 기간:
2022.11~2022.12
프로젝트 배경 및 목표:
필자는 네이버 블로그를 오랫동안 사용하였다.
시작은 컴공 1학년 때, 수업에서 배운 내용을 정리하기 위한 목적이였다.
네이버 블로그를 고른 것은 다른 뜻이 있어서가 아닌 단순히 접근성과 글 작성이 편리하기 때문이었다.
그러던 중, 깃허브를 자주 사용하면서 깃허브에서 웹 호스팅을 하게 되었고, 블로그 또한 만들어 놓았다.
하지만 깃허브에서 글 작성은 매우 귀찮고 네이버 블로그에 올려 놓은 글이 많아 네이버를 떠나기에는 무리가 있었다.
그렇기에 네이버 블로그를 크롤링하여 깃허브 블로그로 올릴 수 있게끔 코드를 작성해보았다.
내 역할:
네이버 블로그 전체 글을 긁어온다. 리포를 fork한 뒤 github blog용으로 개량한다.
사용 기술 및 툴:
Python, GCP
주요 기능 및 설명:
- 특정 네이버 블로그의 공개 글을 전부 크롤링한다. <–기존 기능
-
githubBlog의 markdown양식에 맞게, markdown 이름(날짜), 이미지경로, 카테고리를 수정한다.
- 이미지경로: 네이버이미지를 바로 github.io에 달아두면, 네이버 블로그나 깃허브 블로그가 저품질에 걸린다. 따라서 이미지를 크롤링 한 뒤, 특정 디렉토리에 저장하고 markdown에서 이미지 경로를 수정한다.
- 한글,특수문자가 들어간 카테고리의 경우, Jekyll에서 사용불가능하다. 한글을 영문으로 번역한 뒤, Jekyll에서 사용할 카테고리 리스트 nav_list_main을 생성하고, 카테고리 페이지 category-이름.md를 생성한다.
- GCP에서 일정 주기마다 githubBlog를 연동시킨다. SSH를 사용해서 커밋하고, github contributes(잔디심기)에 포함되지 않기 위해, 다른 계정을 collaborator로 등록시킨 뒤, 커밋하도록 한다.
KPT 분석:
Keep (계속해서 유지하고 싶은 것):
문제를 만나면 다양한 방법으로 시도해보는 것-
이미지(네이버서버로딩/로컬로딩)
카테고리(한영번역/토큰화)
GCP 깃허브 커밋(ssh/git config)
붉은 방법을 사용했는데, 해결해야 할 부분을 만났을 때, 다양한 방법을 찾아본 뒤, 나에게 맞는 방법을 적용시키는 접근이 좋았다고 생각함.
Problem (문제점으로 느껴진 것):
- 시간 관리- 예상했던 시간보다 작업량이 많았음. 또, 진행하면서 계속 기능을 추가하다보니, 끝이 나지않음. 다음 프로젝트때는 정확한 시작과 끝을 정해두면 좋았을 듯
Try (다음에 시도하고 싶은 것 or 개선하고 싶은 것):
- 프로젝트 관련으로는 GUI를 만들어 배포하고 싶다. 아무래도 자신의 블로그를 로컬로 저장하고 싶은 사람은 많을테니깐
성과 및 주요 달성 사항:
githubBlog운영 : https://rage147-owo.github.io/
피드백 및 반응:
개발자 지인이 Github 블로그를 운영하는데, markdown으로 하나하나 이미지 넣는다고 놀릴 수 있음.
자잘한 HTML태그들이 Markdown에 딸려가서 지저분하다는 피드백
글자 크기나 글씨체가 markdown과 호환이 안되는 부분이 있다는 피드백
개선점 및 앞으로의 계획:
앞으로 개선을 할지는 모르겠지만, gui 만들기, 번역할때 매끄러운 카테고리 번역을 위해 AI모델 사용하기
프로젝트 관련 메모:
- 패키지 중 googletrans을 install하면 3.0.0버전으로 설치되는데, 3.0.0에서 오류가 나서 pip install googletrans==4.0.0-rc1으로 해야한다.
- Jekyll에서 카테고리명을 한글, 특수문자,숫자로 시작하는 카테고리명을 사용 할 수 없다. 이는 Jekyll에서 사이트를 정적으로 생성할 때의 문제인 듯 하다–>(https://github.com/jekyll/jekyll-help/issues/129#issuecomment-61255284), (https://github.com/jekyll/jekyll/issues/782) 주소 생성할 때 플러그인을 사용하면 해결 할 수 있긴 하지만, 다른 깃허브 블로그 사용자들을 위해 구글 API로 카테고리를 번역하는 방법을 고수할 예정(다른 좋은 방법이 있으면 바꿀 수 있음)
- 네이버 블로그에 업로드 된 이미지가 아닌 외부 이미지를 링크로 올리는 경우, 네이버 데이터베이스에 있는것이 아니기 때문에 저장을 안함.
How to migrate to github blog from naver blog
python, markdown, html, Liquid