利用迅雷提供的接口从磁力链得到bt种子文件

本地下载工具的磁力链下载速度不给力,而百度云盘有提供离线下载服务,相当于就是直接到服务器取个链接而已。但这需要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)
原文地址:https://www.cnblogs.com/madao/p/python.html