Qiita에서 Hatena 블로그에 기사를 대량 가져 오기

3633 단어 QiitaBlogHatena


절차



  • tenntenn/qiitaexporter 에 Qiita 기사의 markdown 소스 다운로드

  • x-motemen/blogsync 그럼 블로그에 게시

  • Qiita 기사의 markdown 소스 다운로드



    Qiita의 기사는 URL 말미를 .md 로 하는 것으로 markdown 형식의 텍스트를 돌려주는 API가 있기 (위해)때문에 간단한 스크레이핑 툴로 수중에 다운로드해 오실 수 있습니다.

    이번에는 template를 주입을 이용하여 blogsync 형식으로 만드는 것이 쉽기 때문에 qiitaexporter를 사용했습니다 (Qiita API v2를 사용하여 기사를 취득하고 있습니다).

    Qiita 기사를 다운로드하는 도구에는 몇 가지 다른 후보가 있습니다 (예 : qiita_export_all).

    qiitaexporter에는 이미지 파일을 다운로드하여 스스로 호스팅 할 수 있도록 img 태그를 자동으로 다시 작성하는 기능이 있습니다만, 은어 블로그에의 이미지 업로드를 실현하는 것이 힘들 것 같았으므로, 이번은 태그의 재기록 을 무시하는 옵션을 직접 추가했습니다.
    git clone https://github.com/laiso/qiitaexporter.git
    cd qiitaexporter/
    go build
    

    그리고 qiitaexporter의 README에 따라 markdown 파일을 다운로드하십시오.

    내보낼 markdown 파일의 형식을 blogsync.template라는 파일에 정의합니다.
    # blogsync.template
    ---
    Title: {{.Title}}
    Date: {{.Date}}T00:00:00+09:00
    ---
    
    **この記事は[Qiita]({{.URL}})の記事をエクスポートしたものです。内容が古くなっている可能性があります。**
    
    {{.Body}}
    
    
    export QIITA=XXX
    ./qiitaexporter -imgignore -template blogsync.template
    ls posts/
    

    ※상기의 겨우 -imgignore 옵션은 포크로 추가한 것입니다

    Hatena 블로그에 게시



    blogsync 에는 파일을 지정하여 대나무 블로그에 기사를 게시하는 기능이 있습니다. 이것을 사용하여 Qiita에서 다운로드 한 markdown 파일을 지정하여 일괄 게시합니다.

    blogsync 자체 설정은 README를 따르십시오. 하테나 블로그의 편집 모드는 미리 Markdown 모드로 설정해 둡니다.
    export BLOGURL=XXX.hatenadiary.jp
    find posts -name "*.md" | xargs -I $ sh -c "blogsync post ${BLOGURL} < $"
    

    일괄 투고하기 전에 blogsync post ${BLOGURL} < posts/SOME.md 에서 한 기사만 시도해 보면 됩니다.

    면책 조항


  • 마이그레이션 후에도 기사의 이미지 URL은 Qiita 서버 (Amazon S3)를 참조합니다.
  • blogsync에서 많은 양의 블로그 게시물을 게시하면 롤백이 매우 쉽습니다 (새로운 게시물로 게시됨). 검증 환경을 만드는 것이 좋습니다.
  • 좋은 웹페이지 즐겨찾기