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

マグネットリンクを追加すると、トレントハンドルが提供され、そこからトレント情報を取得できます(メタデータがフェッチされると、それ以外の場合はスローされます)。

メタデータがすでにここにあるトレントファイルとは異なり、マグネットリンクでは、メタデータをスターターとしてネットワークから取得する必要があり、これには時間がかかる場合があります。

私は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 に答える