21天通关python 磁力_Python 实现 BT 种子转化为磁力链接 [实战]

编程入门 行业动态 更新时间:2024-10-27 08:28:51

Python 实现 BT 种子转化为磁力链接 [实战]

经常看电影的朋友肯定对 BT 种子并不陌生, 但是 BT 种子文件相对磁力链来说存储不方便, 而且在网站上存放 BT 文件容易引起版权纠纷, 而磁力链相对来说则风险小一些.

将 BT 种子转换为占用空间更小, 分享更方便的磁力链还是有挺大好处的.

今天咱们来看下如何将种子转换成磁力链接, 方案是: 利用 python 的 bencode 模块, 用起来比较简单

首先要安装这个模块, 安装命令:

pip install bencode

如果没有安装 pip(安装了可以略过), 看这里:

pip 的安装方法.

方法一: 脚本安装$ wget https://bootstrap.pypa.io/get-pip.py

$[sudo]pythonget-pip.py

方法二: 源码安装:$ curl-O https://pypi.python/packages/source/p/pip/pip-X.X.tar.gz

$ tar xvfz pip-X.X.tar.gz

$ cd pip-X.X

$ python setup.py install

但是安装过程可能会出现错误:

An error occurred while trying to run get-pip.py. Make sure you have setuptools or distribute installed.

出现这个错误, 说明首先要安装 setuptools

setuptools 安装:wget-q http://peak.telecommunity/dist/ez_setup.py

python ez_setup.py

安装完 setuptools 后, 再次源码安装就好了.

安装完成后, 我们来看下代码:

系统环境: Linux

Python 环境: Python2.7

请注意 python 版本

bt2url.py

实战代码:#! /usr/local/bin/python

# @desc python 通过 BT 种子生成磁力链接

# @date 2015/11/10

# @author pythontab

importbencode

importsys

importhashlib

importbase64

importurllib

# 获取参数

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

来源: http://www.jianshu/p/d130b2ceaddc

更多推荐

21天通关python 磁力_Python 实现 BT 种子转化为磁力链接 [实战]

本文发布于:2023-06-14 09:05:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1459596.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:磁力   转化为   实战   种子   链接

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!