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

주요 기능 및 설명:

  1. 특정 네이버 블로그의 공개 글을 전부 크롤링한다. <–기존 기능
  2. githubBlog의 markdown양식에 맞게, markdown 이름(날짜), 이미지경로, 카테고리를 수정한다.

    1. 이미지경로: 네이버이미지를 바로 github.io에 달아두면, 네이버 블로그나 깃허브 블로그가 저품질에 걸린다. 따라서 이미지를 크롤링 한 뒤, 특정 디렉토리에 저장하고 markdown에서 이미지 경로를 수정한다.
    2. 한글,특수문자가 들어간 카테고리의 경우, Jekyll에서 사용불가능하다. 한글을 영문으로 번역한 뒤, Jekyll에서 사용할 카테고리 리스트 nav_list_main을 생성하고, 카테고리 페이지 category-이름.md를 생성한다.

  1. GCP에서 일정 주기마다 githubBlog를 연동시킨다. SSH를 사용해서 커밋하고, github contributes(잔디심기)에 포함되지 않기 위해, 다른 계정을 collaborator로 등록시킨 뒤, 커밋하도록 한다.

KPT 분석:

Keep (계속해서 유지하고 싶은 것):

문제를 만나면 다양한 방법으로 시도해보는 것-

이미지(네이버서버로딩/로컬로딩)

카테고리(한영번역/토큰화)

GCP 깃허브 커밋(ssh/git config)

붉은 방법을 사용했는데, 해결해야 할 부분을 만났을 때, 다양한 방법을 찾아본 뒤, 나에게 맞는 방법을 적용시키는 접근이 좋았다고 생각함.

Problem (문제점으로 느껴진 것):

  1. 시간 관리- 예상했던 시간보다 작업량이 많았음. 또, 진행하면서 계속 기능을 추가하다보니, 끝이 나지않음. 다음 프로젝트때는 정확한 시작과 끝을 정해두면 좋았을 듯

Try (다음에 시도하고 싶은 것 or 개선하고 싶은 것):

  1. 프로젝트 관련으로는 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

업데이트: