메아리 저널

외부 서비스로부터 백업받기

어젯밤에 유명한 엘라이스 블로그로부터 모든 동영상을 내려 받았다. 엠엔캐스트 복구된 기념으로... 주된 목적은 내가 감상하는 게 하나고 많은 수의 컨텐츠가 동영상 같은 외부 서비스로 아웃소싱(?)되어 있는 경우에 대한 대처법을 고민하기 위함이 하나였는데, 뭐 큰 문제 없이 잘 끝나서 다행이다.

백업받은 동영상이 천개가 넘고 파일 용량이 30기가(...)에 달하기 때문에 여기서 배포하기는 뭣하고 프로그램의 중간 출력만 공개하겠다. (혹시 관심있는 사람, 특히 엘라이스님 본인이 요청한다면 프로그램 보내 주거나 동영상 보내 줄 용의는 있으니 오른쪽의 메일 주소를 참고하시라)

extracted.txt

이 파일은 간단한 텍스트 포맷으로 보면 뭔 일을 하는 건지 금세 알 수 있을 것이다... (사족: download는 그냥 받으면 되는 것, download-indirect는 URL 파싱해서 받아야 하는 것)

토런트로 받을 수 있도록 묶었다. 알아서 받으시라.

nyorong-snapshot-20090219.torrent

내가 짠 스크립트는 정확히 이 용도 -- 엘라이스 블로그에서 받을 파일 리스트를 뽑고, 실제로 받는 -- 에 특화되어 짜여져 있는 일회용 스크립트로 파이썬으로 150줄 250줄 (어쩌다 보니 이것 저것 붙어서 막판에는) 450줄 정도 된다. 파싱에는 BeautifulSoup과 커스텀 sanitizer를 사용했고, 동영상 주소 얻는 부분은 직접 프로토콜 분석해서(사파리에서 activity monitor 같은 걸 띄워 보라.) 간단하게 짜 냈다. zoome는 뭔가 많이 꼬여 있는 것 같아서 손을 안 댔는데 그리 많지는 않으므로(위에서는 18개) 수동으로 받아도 될 것 같다.

결과적으로 프로그램 짜고 테스트하고 모두 받는데 8~9시간을 소요했는데, 잘 생각해 보면 나같은 사람이나, 나같은 사람이 주변에 있는(........) 사람이라면 이런 식으로 스크립트 짜서 돌리면 백업이 어렵지 않지만 일반 사람들에게는 이 작업이 매우 고달프고 머리아픈 작업일 거라는 생각이 든다. 실제로 나조차도 BeautifulSoup 쓰다가 기괴한 HTML 때문에 죽는 경우가 발생해서 커스텀 sanitizer를 만들어야 했는데... 지금 생각해 보니 html5lib가 있구나. 하여튼 쉬운 일은 아니었다.

이글루스 백업을 직접 해 본 적은 없지만 이글루스 동영상을 저런 식으로 받을 수 있을까? 라고 생각하면 좀 소름이 끼친다. 그러니까 심지어 자기 서비스에 통합을 해서 관리한다 해도 그 서비스에서 동영상을 받을 방법은 보통 없다. 그걸 보고 어떤 사람(레식 교수였나? 까먹었다.)이 그건 진짜 공유가 아니라고, 동영상 파일을 직접 받아서 수정을 가한 뒤 다시 올릴 수 있어야 진짜 공유라고 하기도 했는데, 공유가 아니더라도 자기 자신이 올린 걸 받을 수 없다는 것은 상당한 문제라고 생각한다. 이런 문제는 블로그에서도 문제가 되어서 프리덤 같은 류의 이사 서비스가 나오기도 했는데, 뭐 아시는 분은 아시다시피 프리덤 같은 서비스의 한계점은 그 서비스 자체도 느려 터진다(...)라는 것이다. 그리고 당연하지만 이런 서비스는 외부에 링크된 동영상이나 그런 건 못 받는다.

(계속...)

이 백업본은 후에 엘라이스 블로그 자체가 폭파되고 사람들이 원래 데이터를 복원하려고 애쓰는 과정에 전달되어 유용하게 쓰였다. 2009년 2월 이전의 모든 데이터니까 굉장히 유용할 수 밖에. 한편 문제의 백업본은 2010년 8월 현재 아직 가지고 있긴 하지만 토런트로 묶기에는 용량이 너무 커서 더 이상 파일은 공개되어 있지 않으므로, 정 필요할 경우 개인적으로 요청해 주시라. (2010-08-01)

이 글은 본래 http://arachneng.egloos.com/1375110에 썼던 것을 옮겨 온 것입니다.


(rev 71b35f804c1e)