本地下载工具的磁力链下载速度不给力,而百度云盘有提供离线下载服务,相当于就是直接到服务器取个链接而已。但这需要bt文件,而我只有链力链。网上搜了一下,可以从磁力链构造一个bt文件的下载地址,用python实现了一下。
#!/usr/bin/python #coding=utf-8 """ magnet:?xt=urn:btih:B298DD7E3BF7B300FF1F235B90FD5441002FE440 magnet:?xt=urn:btih:506F4F0BE4D982E2E45711B7FA9BD4B03D3908CF magnet:?xt=urn:btih:2F2D9E0C41B0CDB7B5B565532C3DB4F8EDB61E01 """ import sys, os, urllib def magnet_to_bt(magnet_address): beg = magnet_address.rfind(':') str = magnet_address[beg+1:] b_word = str[0:2] e_word = str[-2:] bt_address = 'http://bt.box.n0808.com/' + b_word + '/' + e_word + '/' + str + '.torrent' return bt_address if __name__ == '__main__': if len(sys.argv) > 2: print("Usage: %s <magnet address> or %s [read from stdin]" % (sys.argv[0], sys.argv[0])) sys.exit() if len(sys.argv) == 2: magnet = sys.argv[1] if -1 == magnet.find(':'): sys.exit('invalid magnet address') bt_url = magnet_to_bt(magnet) os.system("wget " + bt_url) else: for line in sys.stdin: if -1 == line.find(':'): continue url = magnet_to_bt(line[0:-1]) pos = url.rfind('/') file_name = url[pos+1:] urllib.urlretrieve(url, file_name)