클로드 코드를 이용한 nanojav.com PyQt5 + libtorrent로 자동 토렌트 수집기 만들기(1)
● 일단 이 내용은 성인관련 내용이 포함되어 있음을 알려드립니다. 사용함에 따라 법적 책임은 본인에게 있음을 알리며 파이썬 GUI 제작 및 웹 크롤링에 대한 공부를 하기 위해서만 사용하시기를 부탁드리고 이런 이유로 키덜트 카테고리로 분류하였음을 알립니다.
토렌트 사이트에서 파일을 하나씩 손으로 받는게 귀찮기도 하고 이런 데이터들을 자동화 하여 다운로드 받을 수도 있다는 것을 얘기하고자 이 앱을 만들었습니다.
작동방식은 UI에 URL을 넣으면 알아서 파일을 크롤링하고, .torrent파일을 받아서, libtorrent로 실제 다운로드 까지 자동으로 돌아가는 GUI앱입니다. Python + PyQt5 기반이고 Windows에서 동작합니다.
이런 앱을 만든 이유는 특정 사이트에 올라오는 파일들을 주기적으로 받고 싶었는데 매번 브라우저를 열고 클릭하는게 너무 귀찮죠. 그리고 희한한 광고사이트나 HTML에 전체 레이어를 뒤집어 씌우고 이상한 사이트의 클릭을 유도하는 행위들이 너무나 많습니다. 따라서 이런 일련의 과정들을 회피 및 자동화 하기 위해 작성하였습니다. 이 앱을 통해 기반 지식들을 습득하게 되면 아마도 업무 자동화와 같은 일에 능숙하게 되지 않을까 그렇게 생각합니다.
중요한 것은 자동화 + 크롤링에 대한 개념 습득
libtorrent로 직접 다운로드를 구현한 이유는 이 라이브러리를 저도 처음 사용해봤기에 호기심으로 작업을 해본겁니다. 사실 qBittorrent의 API를 통해서 구현하는게 일반적이고 아주 간단한 방법이기는 한데 진짜 될까 싶은 그런 호기심에 직접 해봤습니다.
앱의 구성은 3개의 탭으로 되어있습니다.
- 1탭 : URL이랑 페이지 범위 입력 -> 크롤링 시작 -> .torrent파일 다운로드
- 2탭 : 수집된 토렌트 목록, 다운로드 진행률 실시간 확인
- 3탭 : 저장 경로, 동시 다운로두 수 등 설정
- 사용 DB : sqlite3

자세한 설명은 다음 포스팅에 올립니다.