농ㅋ장

FantiaDL 로 이미지 크롤링하기 본문

tip

FantiaDL 로 이미지 크롤링하기

농ㅋ부 2021. 1. 17. 06:28

지난 글에서는 Pixiv Fanbox Downloader를 이용한 픽시브 팬박스 사이트 이미지 크롤링을 다루었습니다.

tjdydgk1012.tistory.com/1

 

Pixiv Fanbox Downloader로 이미지 크롤링하기 (chrome 웹브라우저)

마음에 드는 일러스트레이터의 fanbox를 결제하신 후 게시물에 하나하나 들어가서 일일히 우클릭으로 내려받을 필요 없이 픽시브 팬박스 다운로더를 통해서 모든 이미지를 한번에 저장할 수 있

tjdydgk1012.tistory.com

이어서 이번 글에서는 또 다른 일러스트 결제 사이트인 Fantia의 이미지를 FantiaDL이라는 이미지 다운로더 파일을 통해서 한 번에 저장할 수 있는 방법을 소개합니다.

(주의: 저번과 다르게 크롬 확장 프로그램이 아닙니다!)

 

팬박스와 마찬가지로, 당연히 내려받고자 하는 fantia 일러스트는 전체 공개 상태 거나, 본인의 fantia 계정으로 유료 지원중이어야 합니다.😎

 

------------------------------------------------------------------------------------------------------------------------------

 

1. FantiaDL 설치

 

github.com/bitbybyte/fantiadl

 

bitbybyte/fantiadl

Download posts and media from Fantia. Contribute to bitbybyte/fantiadl development by creating an account on GitHub.

github.com

위 링크로 들어가시면 다음과 같은 화면이 나옵니다.

요렇게! 이 상태에서 스크롤을 내려주시면..
Download 항목이 나옵니다. 파란 글씨로 된"releases page"링크를 눌러주세요.
위 프로그램의 최신 버전을 받아주세요

------------------------------------------------------------------------------------------------------------------------------

 

2. Session Cookies 값 확인하기

 

아래에서 fantiadl 프로그램이 요구하는 세션 쿠키 값을 미리 알아보고 메모장에 적어둡시다.

저는 크롬 브라우저를 예로 들어 설명하겠습니다.(파이어폭스도 비슷합니다.)

"https://fantia.jp" 접속 후 Ctrl + Shift + I 를 눌러 개발자 장치를 엽니다.

 

그 후 상단에 빨간 원으로 표시한 화살표를 눌러 Application 탭으로 이동하세요.

 

 

좌측 사이드바에서 Cookies 하위의 fantia 링크를 클릭합니다.

Name항목의 session_id를 찾습니다.

바로 오른쪽 Value에서 세션 id에 해당하는 값을 찾아 더블클릭하여 복사 후 메모장에 붙여 넣기 하세요.

제 경우를 예로 들면 위 사진의 5e6ac91945cd7...값이 제 세션 쿠키 값입니다.

 

------------------------------------------------------------------------------------------------------------------------------

 

3. 명령 프롬프트로 FantiaDL 경로 잡기

명령 프롬프트를 관리자 권한으로 실행합니다.(win+R -> cmd열기)

이제 맨 위에서 받았던 cmd창에서 fantialdl exe 파일의 경로를 잡아주어야 합니다.

제 폴더를 예로 들면

E:\Downloadlink2\fantiaDL2

E드라이브 내에 파일이 있으므로 

C->E드라이브로 이용하기 위해 "E:" 입력 후 엔터키를 누르면..
이렇게 드라이브 변경 완료!

여기서 하위 폴더로 들어가기 위해서는 "cd (하위 폴더 이름)" 입력 후 엔터키를 눌러주세요

 

만약 실수로 다른 폴더로 들어갔으면 "cd .."을 입력하여 상위 폴더로 돌아가거나, cmd창을 재시작하시면 됩니다.

fantialdl exe 파일이 있는 경로까지 도착 완료!

------------------------------------------------------------------------------------------------------------------------------

 

4. FantiaDL로 크롤링 실행

 

이제 마지막 과정입니다!

 

(fantiadl 파일명) (일러스트레이터 프로필 or 특정 게시물 주소) -c (세션 쿠키 값) (+α 옵션 기능)

 

위 내용을 그대로 명령 프롬프트에 입력하도록 합니다.

 

만약 옵션 -f 또는 -p를 사용하여 복수의 일러스트레이터 작품을 한 번에 받는 경우, 위 (일러스트레이터 프로필 or 특정 게시물 주소) 값은 입력하지 않아도 됩니다. 

 

"다 귀찮고 그냥 제가 (팔로우한 팬클럽들 or 유료 플랜으로 지원중인 팬클럽들) 전부 한 번에 받는 방법이나 미리 알려주세요"~ 하는 분들을 위해서 우선 미리 제 경우로 예시를 들어보자면..

 

fantiadl_v1.7.exe -c 5e6ac91945cd7... -t -f

또는

fantiadl_v1.7.exe -c 5e6ac91945cd7... -t -p

위와 같이 내용을 입력 후 엔터 누르시면 되겠습니다.

 

------------------------------------------------------------------------------------------------------------------------------

 

이제 부연 설명이 필요하신 분들을 위해서 특정 게시물만 따로 받고 싶을 때를 예로 들어보겠습니다.

예시 게시물로 fantia.jp/posts/509262

위 그림의 게시물의 이미지를 크롤링하고자 한다면

(fantiadl 파일명) (일러스트레이터 프로필 or 특정 게시물 주소) -c (세션 쿠키 값) (+α 옵션 기능)

위에서 말했던 이 양식에 맞추어서

fantiadl_v1.7.exe fantia.jp/posts/509262 -c 5e6ac91945cd7... 라고 입력하면 아래와 같은 결과가 나옵니다.

크롤링 완료 후 명령 프롬프트 창
fantiadl exe파일이 있는 폴더에 (일러스트레이터 이름)폴더 자동생성
하위 폴더인 (게시물 넘버)/(게시물 내 파일 소제목) 내부에 (숫자) 파일이 생성됩니다.

------------------------------------------------------------------------------------------------------------------------------

 

이외에도 아래와 같은 옵션을 사용하여 더 다양한 기능을 사용해 볼 수 있습니다.

눈여겨 볼만한 옵션으로는

-i : 다운로드 도중 에러가 발생하여도 다운로드 속행

-r : 다운로드 완료하지 못한 파일은 확장자를 .incomplete로 바꿔서 표시

 

추천하는 옵션으로는 위에서 알려드린 -f -p 외에도

-t : 게시물 리스트의 섬네일을 함께 내려받기

정도가 있습니다.

 

-s 기능을 써보았는데, 서버 파일이름이 불규칙적이라, 숫자파일 순서와 전혀 맞지 않아서 저는 추천하지 않습니다.

 

------------------------------------------------------------------------------------------------------------------------------

 

지금까지 복수의 fantia 이미지 파일을 단시간에 내려받는 fantiaDL 크롤링 방법에 대해 알아보았습니다.

 

pixiv fanbox 때와는 다르게 접근성이 어려워서 설명이 복잡한 점 양해 부탁드립니다..

 

여러분의 fantia 이용에 도움이 됐으면 좋겠네요.😊

 

------------------------------------------------------------------------------------------------------------------------------

 

2021.03.21 추가 현재 제가 달마다 쓰고 있는 명령어는.. fantiadl_v1.7.exe -c (세션 쿠키 값) -r -t -p -d 2021-03입니다.

간단히 설명하자면..

 

-r 과 -t는 위에서 설명했으니 생략하고, -p: 자신이 유료 후원중인 모든 팬클럽의 게시물을 읽는 기능, -d: 특정 년월의 게시물만을 읽는 기능 입니다.

따라서 저는 위 명령어를 통해서 "제가 유료 후원하고 있는 일러레들이 2021년 3월 동안 올렸던 게시물 파일만" 내려받을 수 있습니다.

 

매 달마다 전체 게시물을 긁기엔 너무나 귀찮고 시간도 들지만, 위 명령어를 통해 한 두달 이내의 게시물만 빠르게 받을 수 있어서 편리합니다.

Comments