3

我正在搜索在 libtorrent 中使用磁力链接期间如何在 torrent_info() 函数中传递参数。特别是我的目标是分析同行和作品。通过使用 .torrent 文件,该过程显然会在该站点中抛出其他给定的范例:

e = lt.bdecode(open("torrent.torrent", 'rb').read())
info = lt.torrent_info(e)

但是磁铁链接会发生什么?

params = {
    'save_path': 'C:\Python26',
    'storage_mode': lt.storage_mode_t(2),
    'paused': False,
    'auto_managed': True,
    'duplicate_is_error': True}
link = "magnet:?........."

handle = lt.add_magnet_uri(ses, link, params)

为了能够正确使用 torrent_info 函数,在磁铁链接案例中哪个变量等效于 .torrent 进程的“e”?

4

1 回答 1

6

添加磁力链接会为您提供一个 torrent 句柄,您将能够从中获取 torrent 信息(一旦获取元数据 - 否则它将抛出)。

与元数据已经存在的 torrent 文件不同,磁力链接需要从网络中检索元数据作为起始,这可能需要一些时间。

我更习惯于 C++ 库,但是很好 - 要在最脏的地方进行演示,您可以执行以下操作:

handle = lt.add_magnet_uri(ses, link, params)
while (not handle.has_metadata()):
   time.sleep(.1)
info = handle.get_torrent_info()

...然后,您可以在这里阅读所有相关信息;) http://www.rasterbar.com/products/libtorrent/manual.html#torrent-info

于 2012-06-18T20:12:14.187 回答