使用Python3将BT种子转磁力链接

本文讲述了作者如何使用Python3将大量的BT种子文件转换为磁力链接,通过研究bencode模块及其在Python3中的应用,最终成功解决了编码问题,实现了种子到磁力链接的转换。
摘要由CSDN通过智能技术生成

闲着没事,写了个小爬虫,爬了5万多BT种子。

5万多种子有近3个G的大小,开打文件夹巨卡,就想把种子转成磁力,这样,5万多种子也就一个TXT文件就可以存下了。

先网上找找别人是怎么干的,

发现都是用bencode这个模块。例子也有,但都是python2.7的,模块本身也只支持python2.7.

使用bencode模块的例子如下:

import bencode
import sys
import hashlib
import base64



#读取种子文件
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

是不是很简单。。可我用的是Python3哇,也不想学python2.7

先试了试,直接bencode出错,网上有一两个贴子说可以改模块代码,我试了,没改成。。还是不行

还是看自己的,先去pypi上看bencode有没有更新,发现有一个bencode.py的模块,据说就是bencode的高级版,4.0 版本还支持Python3, 下来试试,

先复制上面的代码。做些修改,把be

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值