zoukankan      html  css  js  c++  java
  • 利用迅雷提供的接口从磁力链得到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)
  • 相关阅读:
    生成器,迭代器
    [LeetCode] Minimum Depth of Binary Tree
    [LeetCode] Sum Root to Leaf Numbers
    [LeetCode]Sort Colors
    [LeetCode] Remove Nth Node From End of List
    [LeetCode] Palindrome Number
    [LeetCode] Container With Most Water
    [LeetCode] Pascal's Triangle II
    [LeetCode] Path Sum
    [LeetCode] Search a 2D Matrix
  • 原文地址:https://www.cnblogs.com/madao/p/python.html
Copyright © 2011-2022 走看看