libtorrent中从magnet link生成torrent,libtorrentmagnet,import libto
文章由Byrx.net分享于2019-03-23 08:03:21
libtorrent中从magnet link生成torrent,libtorrentmagnet,import libto
import libtorrent as ltimport timedef magnet2t(link,tfile): sess = lt.session() params = { "save_path": './tfile/', "storage_mode":lt.storage_mode_t.storage_mode_sparse, "paused": True, "auto_managed": True, "duplicate_is_error": True } handle = lt.add_magnet_uri(sess, link, params) while (not handle.has_metadata()): time.sleep(5) print handle.has_metadata() torinfo = handle.get_torrent_info() fs = lt.file_storage() for f in torinfo.files(): fs.add_file(f) torfile = lt.create_torrent(fs) torfile.set_comment(torinfo.comment()) torfile.set_creator(torinfo.creator()) #for i in xrange(0, torinfo.num_pieces()): # hashes = torinfo.hash_for_piece(i) # torfile.set_hash(i, hashes) for url_seed in torinfo.url_seeds(): torfile.add_url_seed(url_seed) for http_seed in torinfo.http_seeds(): torfile.add_http_seed(http_seed) for node in torinfo.nodes(): torfile.add_node(node) for tracker in torinfo.trackers(): torfile.add_tracker(tracker) torfile.set_priv(torinfo.priv()) t = open(tfile, "wb") t.write(lt.bencode(torfile.generate())) t.close() print '%s generated!'% tfiledef main(): f= open('1.txt','r') magnet_list = f.read().split('\\n') f.close() for i in range(len(magnet_list)): if magnet_list[i] != '': magnet2t(magnet_list[i],'%s.torrent'% str(i))if __name__ == '__main__': main()#该片段来自于http://byrx.net
评论关闭