亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

使用Python實現BT種子和磁力鏈接的相互轉換

2020-01-04 17:56:23
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了使用Python實現BT種子和磁力鏈接的相互轉換的方法,有時比如迅雷無法加載磁力鏈接或者無法上傳附件分享時可以用到,需要的朋友可以參考下

bt種子文件轉換為磁力鏈接

BT種子文件相對磁力鏈來說存儲不方便,而且在網站上存放BT文件容易引起版權糾紛,而磁力鏈相對來說則風險小一些。而且很多論壇或者網站限制了文件上傳的類型,分享一個BT種子還需要改文件后綴或者壓縮一次,其他人需要下載時候還要額外多一步下載種子的操作。

所以將BT種子轉換為占用空間更小,分享更方便的磁力鏈還是有挺大好處的。

首先一個方案是使用bencode這個插件,通過pip方式安裝或者自行下載源文件https://pypi.python.org/pypi/bencode/1.0通過python setup.py install方式安裝均可。

相應的將BT種子轉換為磁力鏈代碼為:

 

  1. import bencode, hashlib, base64, urllib 
  2. torrent = open('ubuntu-12.04.2-server-amd64.iso.torrent''rb').read() 
  3. metadata = bencode.bdecode(torrent) 
  4. hashcontents = bencode.bencode(metadata['info']) 
  5. digest = hashlib.sha1(hashcontents).digest() 
  6. b32hash = base64.b32encode(digest) 
  7. params = {'xt''urn:btih:%s' % b32hash, 
  8. 'dn': metadata['info']['name'], 
  9. 'tr': metadata['announce'], 
  10. 'xl': metadata['info']['length']} 
  11. paramstr = urllib.urlencode(params) 
  12. magneturi = 'magnet:?%s' % paramstr 
  13. print magneturi 

還有另外一個效率相對較高,而且更方便的方案是安裝libtorrent,在ubuntu只需要apt-get install python-libtorrent即可對應轉換磁力鏈的代碼為:

 

 
  1. import libtorrent as bt 
  2. info = bt.torrent_info('test.torrent'
  3. print "magnet:?xt=urn:btih:%s&dn=%s" % (info.info_hash(), info.name()) 

轉換磁力鏈接為bt種子文件

下面來看一個反過程,將磁力鏈轉化為種子文件。

1、需要先安裝python-libtorrent包 ,在ubuntu環境下,可以通過以下指令完成安裝:

 

 
  1. # sudo apt-get install python-libtorrent 

2、代碼如下:

 

 
  1. #!/usr/bin/env python 
  2. import shutil 
  3. import tempfile 
  4. import os.path as pt 
  5. import sys 
  6. import libtorrent as lt 
  7. from time import sleep 
  8. def magnet2torrent(magnet, output_name=None): 
  9. if output_name and / 
  10. not pt.isdir(output_name) and / 
  11. not pt.isdir(pt.dirname(pt.abspath(output_name))): 
  12. print("Invalid output folder: " + pt.dirname(pt.abspath(output_name))) 
  13. print(""
  14. sys.exit(0) 
  15. tempdir = tempfile.mkdtemp() 
  16. ses = lt.session() 
  17. params = { 
  18. 'save_path': tempdir, 
  19. 'duplicate_is_error': True, 
  20. 'storage_mode': lt.storage_mode_t(2), 
  21. 'paused': False, 
  22. 'auto_managed': True, 
  23. 'duplicate_is_error': True 
  24. handle = lt.add_magnet_uri(ses, magnet, params) 
  25. print("Downloading Metadata (this may take a while)"
  26. while (not handle.has_metadata()): 
  27. try
  28. sleep(1) 
  29. except KeyboardInterrupt: 
  30. print("Aborting..."
  31. ses.pause() 
  32. print("Cleanup dir " + tempdir) 
  33. shutil.rmtree(tempdir) 
  34. sys.exit(0) 
  35. ses.pause() 
  36. print("Done"
  37. torinfo = handle.get_torrent_info() 
  38. torfile = lt.create_torrent(torinfo) 
  39. output = pt.abspath(torinfo.name() + ".torrent"
  40. if output_name: 
  41. if pt.isdir(output_name): 
  42. output = pt.abspath(pt.join( 
  43. output_name, torinfo.name() + ".torrent")) 
  44. elif pt.isdir(pt.dirname(pt.abspath(output_name))): 
  45. output = pt.abspath(output_name) 
  46. print("Saving torrent file here : " + output + " ..."
  47. torcontent = lt.bencode(torfile.generate()) 
  48. f = open(output, "wb"
  49. f.write(lt.bencode(torfile.generate())) 
  50. f.close() 
  51. print("Saved! Cleaning up dir: " + tempdir) 
  52. ses.remove_torrent(handle) 
  53. shutil.rmtree(tempdir) 
  54. return output 
  55. def showHelp(): 
  56. print(""
  57. print("USAGE: " + pt.basename(sys.argv[0]) + " MAGNET [OUTPUT]"
  58. print(" MAGNET/t- the magnet url"
  59. print(" OUTPUT/t- the output torrent file name"
  60. print(""
  61. def main(): 
  62. if len(sys.argv) < 2: 
  63. showHelp() 
  64. sys.exit(0) 
  65. magnet = sys.argv[1] 
  66. output_name = None 
  67. if len(sys.argv) >= 3: 
  68. output_name = sys.argv[2] 
  69. magnet2torrent(magnet, output_name) 
  70. if __name__ == "__main__"
  71. main() 

3、用法如下

  1. # python Magnet_To_Torrent2.py <magnet link> [torrent file] 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91欧美日韩一区| 国产精品视频久久久久| 91免费在线视频| 国产丝袜一区二区三区| 欧美大成色www永久网站婷| 97在线免费视频| 欧美激情中文字幕乱码免费| 精品福利在线观看| 亚洲人成电影在线播放| 黄色成人在线播放| 亚洲成人免费网站| 91精品久久久久久久久久| 欧美日韩中文字幕日韩欧美| 亚洲人成电影在线播放| 精品亚洲国产成av人片传媒| 成人黄色激情网| 国产精品无av码在线观看| 亚洲www在线观看| 色噜噜狠狠狠综合曰曰曰| 久久久国产精品视频| 中文字幕亚洲欧美在线| 中文字幕欧美日韩在线| 中文字幕在线看视频国产欧美| 一本大道亚洲视频| 亚洲国产精品99久久| 亚洲第一视频网| 国产在线日韩在线| 一区二区三区无码高清视频| 福利视频一区二区| 91日本视频在线| 国产精品色午夜在线观看| 97视频网站入口| 中文字幕亚洲情99在线| 久久99热精品| 亚洲天堂精品在线| 精品国产一区二区在线| 日韩欧美国产免费播放| 狠狠色狠狠色综合日日小说| 欧美激情国内偷拍| 欧美黑人巨大精品一区二区| 美女福利视频一区| 精品一区二区亚洲| 欧美日韩亚洲精品一区二区三区| 久久久亚洲精选| 亚洲精品av在线播放| 美日韩精品免费观看视频| 国产91精品久久久久久| 91精品国产自产在线老师啪| 亚洲专区国产精品| 久久精品电影网| 日韩精品999| 精品国产一区二区三区久久久| 亚洲xxxxx电影| 精品欧美一区二区三区| 国产精品福利无圣光在线一区| xvideos亚洲| 国产精品欧美一区二区三区奶水| 啪一啪鲁一鲁2019在线视频| 国产精品亚洲第一区| 丰满岳妇乱一区二区三区| 欧美午夜性色大片在线观看| 国产激情久久久久| 精品国偷自产在线视频| 国产一区二中文字幕在线看| 亚洲国产小视频| 日韩成人xxxx| 国自产精品手机在线观看视频| 久久久精品2019中文字幕神马| 亚洲精品中文字幕av| 欧美天堂在线观看| 精品毛片网大全| 精品少妇v888av| 这里只有精品丝袜| 疯狂蹂躏欧美一区二区精品| 国产精品欧美激情在线播放| 欧美在线观看一区二区三区| 亚洲成人网久久久| 国产精品入口福利| 欧美精品在线免费| 98午夜经典影视| 亚洲欧洲国产一区| 国产精品美女免费看| 日韩人在线观看| 成人av.网址在线网站| 8x拔播拔播x8国产精品| 深夜福利日韩在线看| 91牛牛免费视频| 8x海外华人永久免费日韩内陆视频| 成人av电影天堂| 91精品国产91久久久久| 精品亚洲国产成av人片传媒| 久久av资源网站| 欧美中文字幕视频| 97国产精品人人爽人人做| 亚洲人成网7777777国产| 欧美日韩中文字幕综合视频| 97国产真实伦对白精彩视频8| 国产精品久久久久影院日本| 久久中文久久字幕| 亚洲精品在线观看www| 国产精品99蜜臀久久不卡二区| 91亚洲精品一区二区| 97色伦亚洲国产| 久久久精品在线| 久久777国产线看观看精品| 国产亚洲精品久久| 久久久久久久久亚洲| 国产精品揄拍一区二区| 亚洲福利视频二区| 日韩国产高清污视频在线观看| 国产精品精品一区二区三区午夜版| y97精品国产97久久久久久| 在线观看欧美成人| 成人在线免费观看视视频| 亚洲第一精品夜夜躁人人躁| 午夜免费日韩视频| 日韩av在线网页| 曰本色欧美视频在线| 国产欧亚日韩视频| 亚洲丁香婷深爱综合| 日韩免费黄色av| 91精品国产自产在线观看永久| 欧美日韩美女在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产视频精品xxxx| 91欧美精品成人综合在线观看| 91中文精品字幕在线视频| 欧美午夜激情在线| 国产一区二区三区免费视频| 在线亚洲男人天堂| 欧美三级xxx| 精品久久久久久中文字幕大豆网| 中国日韩欧美久久久久久久久| 国产亚洲精品综合一区91| 久久久99久久精品女同性| 久久99久久久久久久噜噜| 91手机视频在线观看| 欧美色视频日本版| 中文字幕日韩在线观看| 久久99国产精品自在自在app| 日韩欧美一区视频| 国产精品久久久久久久天堂| 国产日韩在线亚洲字幕中文| www欧美xxxx| 日韩av在线免费| 国产精品美女午夜av| **欧美日韩vr在线| 欧美影院在线播放| 欧美大片欧美激情性色a∨久久| 26uuu日韩精品一区二区| 精品成人在线视频| 91视频88av| 成人福利在线视频| 久久亚洲精品毛片| 国产精品视频在线观看| 欧美巨乳美女视频| 成人国产在线视频| 亚洲天堂av女优| 国产精品高潮呻吟久久av野狼| 91精品国产91| 成人有码视频在线播放| 欧美精品在线播放| 日韩电影在线观看中文字幕| 中文字幕日韩有码|