J'ai essayé de télécharger un torrent (le fichier .torrent spécifique) donné seulement un info_hash. Je sais que cela a été discuté ici avant, j'ai même cherché et modifié mon code en conséquence. Le résultat est le suivant:Python libtorrent crée vide torrent avec lien aimant
import libtorrent as lt
import time
import sys
import bencode
ses = lt.session()
ses.listen_on(6881, 6891)
params = {
'save_path': '.',
'storage_mode': lt.storage_mode_t(2),
'paused': False,
'auto_managed': True,
'duplicate_is_error': True
}
info_hash = "2B3AF3B4977EB5485D39F96FE414729530F48386"
link = "magnet:?xt=urn:btih:" + info_hash
h = lt.add_magnet_uri(ses, link, params)
ses.add_dht_router("router.utorrent.com", 6881)
ses.add_dht_router("router.bittorrent.com", 6881)
ses.add_dht_router("dht.transmissionbt.com", 6881)
ses.start_dht()
while (not h.has_metadata()):
time.sleep(1)
torinfo = h.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())
f = open("torrentfile.torrent", "wb")
f.write(lt.bencode(torfile.generate()))
f.close()
Cela produit un fichier torrent qui ne peut pas être chargé par transmission. Il manque de traqueurs ainsi que des pièces réelles (crée \ x00 au lieu des pièces réelles).
La ligne suivante serait sauver les morceaux, mais il lui manque encore les trackers et ne peut être ouverte par la transmission:
f = open("torrentfile.torrent", "wb")
f.write(lt.bencode(torinfo.metadata()))
f.close()
Comment puis-je créer un torrent, qui ressemble le torrent réel, simplement en utilisant le lien de l'aimant (comme indiqué dans le code)?
(J'utilise Ubuntu 15.04 64 bits avec libtorrent 0.16.18-1)
Je ne suis pas télécharger illégalement le fichier derrière le torrent- cependant, j'ai le torrent à comparer au torrent téléchargé par mon script.
pouvez-vous s'il vous plaît m'aider? J'utilise le même code que le vôtre mais dans mon cas il est bloqué dans la boucle 'while (pas h.has_metadata()):'. n'importe quoi? – muaaz