Heim >Backend-Entwicklung >Python-Tutorial >Praktisches Python implementiert die Umwandlung von BT-Seeds in Magnet-Links

Praktisches Python implementiert die Umwandlung von BT-Seeds in Magnet-Links

大家讲道理
大家讲道理Original
2016-11-07 16:31:052843Durchsuche

Freunde, die oft Filme schauen, müssen mit BT-Seeds vertraut sein, aber BT-Seed-Dateien sind im Vergleich zu Magnet-Links unpraktisch zu speichern, und das Speichern von BT-Dateien auf einer Website kann leicht zu Urheberrechtsstreitigkeiten führen, während Magnet-Links relativ weniger riskant sind .

Es bietet immer noch große Vorteile, BT-Samen in Magnet-Links umzuwandeln, die weniger Platz beanspruchen und bequemer zum Teilen sind.

Heute werfen wir einen Blick darauf, wie man Seeds in Magnet-Links umwandelt. Die Lösung besteht darin, das Bencode-Modul von Python zu verwenden, das relativ einfach zu verwenden ist.

Zuallererst müssen Sie es tun Installieren Sie dieses Modul. Der Installationsbefehl lautet:

pip install bencode

Wenn pip nicht installiert ist, gehen Sie bitte zu „Detaillierte Erklärung der Pip-Installation des Python-Paketmanagers“

Aktuell Code

Nach Abschluss der Installation werfen wir einen Blick auf den folgenden Code:

Systemumgebung: Linux

Python-Umgebung: Python2.7

Bitte beachten Sie die Python-Version

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

Wie benutzt man?

Befehl:

python bt2url.py test.torrent

Ergebnis:

magnet:?xt=urn:btih:MWXFHXOGE2UMR7WBFZYEJPM3LF2VIHNH


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn