ホームページ  >  記事  >  バックエンド開発  >  BTシードをマグネットリンクに変換する実践的なPython

BTシードをマグネットリンクに変換する実践的なPython

高洛峰
高洛峰オリジナル
2016-10-17 16:54:272330ブラウズ

映画をよく見る友人は BT シードに精通しているはずですが、BT シード ファイルはマグネット リンクに比べて保存するのが不便で、Web サイトに BT ファイルを保存すると著作権紛争が発生しやすくなりますが、マグネット リンクは比較的リスクが低いです。

BT シードを、占有スペースが少なく、共有に便利なマグネット リンクに変換すると、大きなメリットが得られます。

今日は、シードをマグネットリンクに変換する方法を見ていきます。その解決策は、比較的簡単に使用できる Python の Bencode モジュールを使用することです。

まず、このモジュールをインストールする必要があります。

pip install bencode

pip がインストールされていない場合は、「Python パッケージマネージャー pip インストールの詳しい説明」に進んでください

実際のコード

インストールが完了したら、コードを見てみましょう:

システム環境: Linux

Python環境: Python2.7

Pythonのバージョンにご注意ください

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 までご連絡ください。