>백엔드 개발 >파이썬 튜토리얼 >실용적인 Python은 BT 시드를 자석 링크로 변환을 구현합니다.

실용적인 Python은 BT 시드를 자석 링크로 변환을 구현합니다.

大家讲道理
大家讲道理원래의
2016-11-07 16:31:052841검색

영화를 자주 보는 친구들이라면 BT 시드에 대해 잘 알고 있을 텐데요, BT 시드 파일은 마그넷 링크에 비해 보관이 불편하고, 웹사이트에 BT 파일을 저장하면 저작권 분쟁이 쉽게 발생할 수 있는 반면, 마그넷 링크는 상대적으로 위험성이 덜합니다. .

BT 시드를 공간을 덜 차지하고 공유하기 더 편리한 마그넷 링크로 변환하면 여전히 큰 이점이 있습니다.

오늘은 시드를 자석 링크로 변환하는 방법을 살펴보겠습니다. 해결책은 비교적 사용하기 쉬운 Python의 bencode 모듈을 사용하는 것입니다.

우선, 이 모듈을 설치하세요. 설치 명령은 다음과 같습니다.

pip install bencode

pip가 설치되지 않은 경우 "Python 패키지 관리자 pip 설치에 대한 자세한 설명"으로 이동하세요.

실제 code

설치가 완료된 후 살펴보겠습니다. 아래 코드:

시스템 환경: Linux

Python 환경: Python2.7

참고하세요 파이썬 버전

bt2url.py
#! /usr/local/bin/python
# @desc python通过BT种子生成磁力链接 
# @date 2015/11/10
# @author pythontab.com
import bencode
import sys
import hashlib
import base64
import urllib
#获取参数
torrentName = sys.argv[1]
#读取种子文件
torrent = open(torrentName, 'rb').read()
#计算meta数据
metadata = bencode.bdecode(torrent)
hashcontents = bencode.bencode(metadata['info'])
digest = hashlib.sha1(hashcontents).digest()
b32hash = base64.b32encode(digest)
#打印
print 'magnet:?xt=urn:btih:%s' % b32hash

어떻게 사용하나요?

명령:

python bt2url.py test.torrent

결과:

magnet:?xt=urn:btih:MWXFHXOGE2UMR7WBFZYEJPM3LF2VIHNH


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.