link = "magnet:?xt=urn:btih:SXAUXLMEOA756COGWBPNQ5WWNR72N4ZB&dn=Contact%20%232%20480p.mp4&xl=1530546742&tr=h" isSome = False import libtorrent as lt import time import datetime ses = lt.session() ses.listen_on(6881, 6891) params = { 'save_path': '~/', 'storage_mode': lt.storage_mode_t(2)} def download(torrent): handle = lt.add_magnet_uri(ses, torrent, params) ses.start_dht() begin = time.time() print(datetime.datetime.now()) print ('Получение метаданных...') while (not handle.has_metadata()): time.sleep(1) print ('Метаданные получены, начинается торрент-загрузка...') print('Запуск', handle.name()) while (True): s = handle.status() state_str = ['queued', 'checking', 'downloading metadata', \ 'downloading', 'finished', 'seeding', 'allocating'] print ('%.2f%% информация (загрузка: %.1f kb/s отправка: %.1f kB/s пиры: %d) %s ' % \ (s.progress * 100, s.download_rate / 1000, s.upload_rate / 1000, \ s.num_peers, state_str[s.state])) time.sleep(5) end = time.time() print(handle.name(), 'Загрузка кончена') print('Затрачено времени: ', int((end-begin)//60), 'минут ', int((end-begin)%60), 'секунд') print(datetime.datetime.now()) if isSome: for torrent in link: print(torrent) download(torrent) else: download(link)