赞
踩
闲着没事,写了个小爬虫,爬了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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。