-
-
Save samukasmk/940ca5d5abd9019e8b1af77c819e4ca9 to your computer and use it in GitHub Desktop.
# source: | |
# https://stackoverflow.com/questions/6051877/loading-magnet-link-using-rasterbar-libtorrent-in-python | |
# | |
# ATTENTION: This is only a example of to use a python bind of torrent library in Python for educational purposes. | |
# I am not responsible for your download of illegal content or without permission. | |
# Please respect the laws license permits of your country. | |
import libtorrent as lt | |
import time | |
ses = lt.session() | |
ses.listen_on(6881, 6891) | |
params = { | |
'save_path': '/home/user/Downloads/torrent', | |
'storage_mode': lt.storage_mode_t(2), | |
'paused': False, | |
'auto_managed': True, | |
'duplicate_is_error': True} | |
link = "MAGNET_LINK_HERE" | |
handle = lt.add_magnet_uri(ses, link, params) | |
ses.start_dht() | |
print 'downloading metadata...' | |
while (not handle.has_metadata()): | |
time.sleep(1) | |
print 'got metadata, starting torrent download...' | |
while (handle.status().state != lt.torrent_status.seeding): | |
s = handle.status() | |
state_str = ['queued', 'checking', 'downloading metadata', \ | |
'downloading', 'finished', 'seeding', 'allocating'] | |
print '%.2f%% complete (down: %.1f kb/s up: %.1f kB/s peers: %d) %s' % \ | |
(s.progress * 100, s.download_rate / 1000, s.upload_rate / 1000, \ | |
s.num_peers, state_str[s.state]) | |
time.sleep(5) |
Yes. Pip usually works for me for downloading modules.
For the record:
C:\Users\flafy>pip install python-libtorrent-bin
ERROR: Could not find a version that satisfies the requirement python-libtorrent-bin (from versions: none)
ERROR: No matching distribution found for python-libtorrent-bin
i thiink? it got removed or somink but here is a stack overflow post that might help if u need it that badly and can be arsed to build from source
https://stackoverflow.com/questions/43478842/installing-libtorrent-for-python-3-6-on-windows-7
pip install python-libtorrent-bin
Doesn't exists in Windows.
yes, you need to compile it in windows as the original code is written in C.
Yes. Pip usually works for me for downloading modules.
For the record:C:\Users\flafy>pip install python-libtorrent-bin ERROR: Could not find a version that satisfies the requirement python-libtorrent-bin (from versions: none) ERROR: No matching distribution found for python-libtorrent-bin
It works for Linux based OS but I'm not sure about Unix based OS such as Mac
pip install libtorrent is successful
But still it is unable to find libtorrent
Would it be possible to replace the magnet link with a .torrent? How could I do that?
Would it be possible to replace the magnet link with a .torrent? How could I do that?
ses = lt.session({'listen_interfaces': '0.0.0.0:6881'})
# look here, link is one of .torrent file's path
info = lt.torrent_info(link)
h = ses.add_torrent({'ti':info, 'save_path':'/Downloads'})
s = h.status()
print('starting', s.name)
while not s.is_seeding:
s = h.status()
print('\r%.2f%% complete (down: %.1f kB/s up: %.1f kB/s peers: %d) %s' % (
s.progress * 100, s.download_rate / 1000, s.upload_rate / 1000,
s.num_peers, s.state), end=' ')
alerts = ses.pop_alerts()
for a in alerts:
if a.category() & lt.alert.category_t.error_notification:
print(a)
sys.stdout.flush()
time.sleep(1)
print(h.status().name, 'complete')
Is it possible to pass a proxy configuration for the download?
can I view the files in the big torrent, and select specific files to download, instead of downloading everything?
hav u included pip in your path environment variable