最新消息:

python实现bt种子转磁链接之——libtorrent介绍

Python 大步 7113浏览 0评论

 

接着上面那篇:《python实现bt种子转磁链接之——磁链接格式分析》,继续分析。

这篇所介绍的libtorrent是实现bt种子转磁链接的最关键的部分,没有他,想写出代码有的的折腾,但是没有它其实还有另外一个库(我忘了名字了,那个库没这个库方便好用,要转来转去)。下面开始介绍吧!libtorrent python 磁链接 torrent 种子

LibTorrent 是一个C++ 语言的 BitTorrent 开发库,支持 Linux/Unix 系统。旨在提供高性能和良好代码风格的 BT 开发包。该开发包与其他包不同的是,它直接通过网络堆栈抓取文件页,因此性能是官方客户端的三倍。现在有很多基于这个库开发的bt下载软件,比如:deluge   。大家可以去体验下(我是感觉一般般)。

libtorrent的主页为:http://www.rasterbar.com/products/libtorrent/。这个库的目标有下面几个(本人英语很烂,翻译可能有误,可自行谷歌翻译)

  • 充分有效利用cpu
  • 充分有效利用内存
  • 更加易用

这个库功能很强大,但是类不多,大家可以自己看的API文档。当然了,对于我这样六级没过的,只能看看别人翻译的中文文档,即使是看中文文档,对于我这个新手来说也很纠结,感觉翻译的好生硬呀,感觉就像读被谷歌翻译后的英文文章一样。不过看完之后,你就可以自己开发bt客户端软件了,还可以用来实现磁链接转bt种子(torrent)的功能。中文文档下载地址见文章下面。额

 

这里就只说下我用到的:torrent_info类。

torrent_info类下面有很多函数,唉,真想直接把代码贴出来的了,省的这么费力费时间。函数有以下:

  • torrent_info()
  • add_tracker()
  • files() orig_files()
  • remap_files()
  • rename_file()
  • begin_files() end_files() rbegin_files() rend_files()
  • num_files() file_at()
  • map_block()
  • map_file()
  • add_url_seed() add_http_seed()
  • trackers()
  • total_size() piece_length() piece_size() num_pieces()
  • hash_for_piece() hash_for_piece_ptr() info_hash()
  • merkle_tree() set_merkle_tree()
  • name() comment() creation_date() creator()
  • priv()
  • nodes()
  • add_node()
  • metadata() metadata_size()

《libtorrent+API+手册(中文版).doc》的下载地址:

地址一        地址二

我就只挑选了torrent_info这个类看了下,然后就开始写了,真是容易的想死。

 

这里再介绍个一个工具:PyroScope 是开发 BitTorrent 协议(特别是 rTorrent 客户端)的 Python 工具包,提供一些命令行工具用来自动执行 BT 的各种常用任务,例如创建 metafile、通过 XML-RPC 接口控制 rTorrent 等。

libtorrent python 磁链接 torrent 种子

 

 

转载请注明:大步's Blog » python实现bt种子转磁链接之——libtorrent介绍

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

SiteMap