在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是磁力鏈接?如何用Python獲取磁力種子?

馬哥Linux運(yùn)維 ? 來(lái)源:未知 ? 作者:工程師郭婷 ? 2018-08-05 09:08 ? 次閱讀

磁力鏈接

現(xiàn)在我們使用迅雷等工具下載資源的時(shí)候,基本上都只需要一個(gè)叫做磁力鏈接的東西就可以了,非常方便。

磁力鏈接是對(duì)等網(wǎng)絡(luò)中進(jìn)行信息檢索和下載文檔的電腦程序。和基于“位置”連接的統(tǒng)一資源定位符不同,磁力鏈接是基于元數(shù)據(jù)文件內(nèi)容,屬于統(tǒng)一資源名稱。也就是說(shuō),磁力鏈接不基于文檔的 IP 地址或定位符,而是在分布式數(shù)據(jù)庫(kù)中,通過(guò)散列函數(shù)值來(lái)識(shí)別、搜索來(lái)下載文檔。因?yàn)椴灰蕾囈粋€(gè)處于啟動(dòng)狀態(tài)的主機(jī)來(lái)下載文檔,所以特別適用沒(méi)有中心服務(wù)器的對(duì)等網(wǎng)絡(luò)。

磁力鏈接格式類似于 :

magnet:?xt=urn:btih:E7FC73D9E20697C6C440203F5884EF52F9E4BD28

分解一下這個(gè)鏈接

magnet:協(xié)議名。

xt:exact topic 的縮寫,表示資源定位點(diǎn)。BTIH(BitTorrent Info Hash)表示哈希方法名,這里還可以使用 SHA1 和 MD5。這個(gè)值是文件的標(biāo)識(shí)符,是不可缺少的。

一般來(lái)講,一個(gè)磁力鏈接只需要上面兩個(gè)參數(shù)即可找到唯一對(duì)應(yīng)的資源。也有其他的可選參數(shù)提供更加詳細(xì)的信息。

dn:display name 的縮寫,表示向用戶顯示的文件名。

tr:tracker 的縮寫,表示 tracker 服務(wù)器的地址。

kt: 關(guān)鍵字,更籠統(tǒng)的搜索,指定搜索關(guān)鍵字而不是特定文件。

mt:文件列表,鏈接到一個(gè)包含磁力鏈接的元文件 (MAGMA - MAGnet MAnifest)。

種子/DHT

通過(guò)磁力就可以獲取種子文件從而進(jìn)行下載,這跟直接使用種子下載時(shí)一個(gè)道理的,只是少了從磁力到種子文件的一個(gè)過(guò)程而已。

BitTorrent 協(xié)議的種子文件可以保存一組文件的元數(shù)據(jù)。這種格式的文件被 BitTorrent 協(xié)議所定義。擴(kuò)展名一般為“.torrent”。BitTorrent 使用”分布式哈希表”(DHT)來(lái)為無(wú) tracker 的種子(torrents)存儲(chǔ) peer 之間的聯(lián)系信息。這樣每個(gè) peer 都成了 tracker。這個(gè)協(xié)議基于 Kademila 網(wǎng)絡(luò)并且在 UDP 上實(shí)現(xiàn)。

DHT 由節(jié)點(diǎn)組成,它存儲(chǔ)了 peer 的位置。BitTorrent 客戶端包含一個(gè) DHT 節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)用來(lái)聯(lián)系 DHT 中其他節(jié)點(diǎn),從而得到 peer 的位置,進(jìn)而通過(guò) BitTorrent 協(xié)議下載。

peer: 一個(gè) TCP 端口上監(jiān)聽(tīng)的客戶端/服務(wù)器,它實(shí)現(xiàn)了 BitTorrent 協(xié)議。

節(jié)點(diǎn): 一個(gè) UDP 端口上監(jiān)聽(tīng)的客戶端/服務(wù)器,它實(shí)現(xiàn)了 DHT(分布式哈希表) 協(xié)議。 如果對(duì) DHT 協(xié)議感興趣的話一定要看下 DHT 協(xié)議 的具體內(nèi)容,這里有 中文翻譯版本。(想要徹底讀懂項(xiàng)目的話一定要先了解該協(xié)議,代碼都是基于該協(xié)議實(shí)現(xiàn)的)

務(wù)實(shí)的實(shí)踐

項(xiàng)目來(lái)源

一般來(lái)講到 Python 爬取,大家的第一印象可能就是 requests/aiohttp,或者是 scrapy/pyspider 等爬蟲(chóng)框架。基本上都是從指定的 HTML 頁(yè)面爬取信息。我有一個(gè)項(xiàng)目 torrent-cli(github.com/chenjiandongx/torrent-cli) 就是一個(gè)從資源網(wǎng)站上爬取磁力信息的工具。

然而我想自給自足獲取磁力種子,Google 了一番,發(fā)現(xiàn)大家基本上的代碼都是從 simDHT(github.com/fanpei91/simDHT)這個(gè)項(xiàng)目來(lái)的,首先這個(gè)項(xiàng)目很棒,但是有個(gè)問(wèn)題就是代碼實(shí)現(xiàn)細(xì)節(jié)基本沒(méi)有一行注釋且不兼容 Python3。而很多網(wǎng)上同類的代碼基本上也是對(duì)這個(gè)照搬....

所以我知道我要開(kāi)始干活了

經(jīng)過(guò)一波 happy coding 之后

項(xiàng)目結(jié)構(gòu)

核心代碼

crawler.py

從 DHT 網(wǎng)絡(luò)中獲取磁力鏈接。主要是利用一些大型的服務(wù)器 tracker,冒充 DHT 節(jié)點(diǎn),使用 UDP 協(xié)議加入到 DHT 網(wǎng)絡(luò)中一波搜索以及和其他節(jié)點(diǎn)搞好關(guān)系,讓他們也分享我點(diǎn)資源。磁力數(shù)據(jù)存放在了 redis,利用 redis 的集合特性來(lái)去重。使用了多線程/多進(jìn)程,用于提高爬取效率。在我的本地機(jī)器(i7-7700HQ/16G 內(nèi)存/8M 網(wǎng)速)跑了一下,效果還不錯(cuò),4 小時(shí)爬了 100 萬(wàn)條磁力鏈接。

$ redis-cli

127.0.0.1:6379> scard magnets

(integer)1137627

然后代碼推送到我那臺(tái)性能強(qiáng)悍 1 核/2G 內(nèi)存/1M 網(wǎng)速阿里云服務(wù)器跑一下,哎....

magnettotorrent_aria2c.py 利用 aria2 將磁力鏈接轉(zhuǎn)換為種子文件。嘗試了一些其他的方式將磁力轉(zhuǎn)換為種子,但效果好像都不怎么理想。使用過(guò) libtorrent 的 Python 版本,不知道是我打開(kāi)方式不對(duì)還是它本來(lái)效率就不高,反正愣是一個(gè)種子都沒(méi)有轉(zhuǎn)換成功。

最后兜兜轉(zhuǎn)轉(zhuǎn)用到了 aria2 發(fā)現(xiàn)效率還可以。這里利用多線程跑一個(gè)命令。所以要先把 aria2 安裝到你的 PATH 中,具體參考官網(wǎng)介紹。

parse_torrent.py 解析種子文件內(nèi)容,同樣也是利用了 bencoder 進(jìn)行解碼。有了種子我們當(dāng)然要看看到底是些什么資源了啦。你說(shuō)世界就是這么小,在我解析出來(lái)的幾百個(gè)種子文件中,居然有幾個(gè)都是來(lái)自那個(gè)以2的10次方為標(biāo)志的社區(qū)。

有圖有真相

輔助代碼

database.py:封裝了關(guān)于 redis 的數(shù)據(jù)操作,主要是利用其集合數(shù)據(jù)結(jié)構(gòu)。

utils.py:一些工具函數(shù)

如何使用

獲取源碼及安裝依賴環(huán)境

$ git clone https://github.com/chenjiandongx/magnet-dht.git

$ cd magnet-dht

$ pip install -r requirements.txt# 確保已經(jīng)安裝好 redis,redis 的具體配置可以在 database.py 里面修改。

運(yùn)行項(xiàng)目

至于進(jìn)程數(shù)量可以在 crawler.py 進(jìn)行調(diào)整$ python manage.py -h

usage: manage.py [-h][-s][-m][-p]

start manage.py with flag.

optional arguments:

-h,--help show this help message andexit-s run start_server func.

-m run magnet2torrent func

-p run parse_torrent func

深刻的感悟

自我學(xué)編程以來(lái),我一直都是屬于興趣驅(qū)動(dòng)的,對(duì)某種技術(shù)感興趣的話就會(huì)花時(shí)間去研究去嘗試。想成為一個(gè)有趣的人,去做一些有趣的事,真心覺(jué)得能把腦海里的想法轉(zhuǎn)變?yōu)榇a實(shí)現(xiàn)是件很棒的事,即使可能這件事在別人看來(lái)并沒(méi)有什么了不起。技術(shù)發(fā)展變化總是那么快,不緊跟著可能不小心就掉隊(duì)了。所以希望每個(gè)真心熱愛(ài)編程的人都能不忘初心,永遠(yuǎn)保持對(duì)新技術(shù)的熱情,永遠(yuǎn)能從編碼中找到樂(lè)趣。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9332

    瀏覽量

    86132
  • 客戶端
    +關(guān)注

    關(guān)注

    1

    文章

    291

    瀏覽量

    16773

原文標(biāo)題:用Python獲取磁力種子

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    磁力穿梭裝置的工作原理#電子

    磁力
    未來(lái)加油dz
    發(fā)布于 :2023年04月15日 16:29:25

    磁力計(jì)

    磁力計(jì)最新資料,全心奉獻(xiàn)
    發(fā)表于 09-01 18:16

    磁力眩暈頻率射線

    磁力眩暈頻率射線 有人聽(tīng)說(shuō)過(guò)這東西沒(méi)有 今天在網(wǎng)上看到很好奇
    發(fā)表于 10-26 18:26

    如何處理磁力計(jì)HMC5883L獲取的三軸數(shù)據(jù)?

    用HMC5883L來(lái)矯正陀螺儀使用四元數(shù)法來(lái)求偏航角,想問(wèn)問(wèn)如何處理磁力計(jì)HMC5883L獲取的三軸數(shù)據(jù)?
    發(fā)表于 07-25 19:44

    磁力驅(qū)動(dòng)泵是什么?

    磁力偶合器的一半(內(nèi)磁鐵)裝于泵軸上,并以非鐵磁性材料制成的隔離罩密封在泵體內(nèi);另一半(外磁鐵)裝于電機(jī)軸上,在隔離罩外以磁力帶動(dòng)內(nèi)磁鐵旋轉(zhuǎn)驅(qū)動(dòng)泵工作。故無(wú)泄漏。
    發(fā)表于 10-25 09:10

    磁力泵的工作原理

    磁力泵的工作原理 磁力泵由泵、磁力傳動(dòng)器、電動(dòng)機(jī)三部分組成。關(guān)鍵部件磁力傳動(dòng)器由外磁轉(zhuǎn)子、內(nèi)磁轉(zhuǎn)子及不導(dǎo)磁的隔離套組成。
    發(fā)表于 12-07 10:00 ?2357次閱讀

    什么是磁力濾鏡

    什么是磁力濾鏡   磁力濾鏡是并不是單一的某種濾鏡,而是一種安裝濾鏡的方式,它是目前市面上比較新穎的產(chǎn)品,所以筆者將其單獨(dú)列出。大家知道,目前市面
    發(fā)表于 01-30 14:45 ?675次閱讀

    簡(jiǎn)述磁力泵的工作原理

      磁力傳動(dòng)離心泵(簡(jiǎn)稱磁力泵)是應(yīng)用現(xiàn)代磁力學(xué)原理,利用永磁體的磁力傳動(dòng)實(shí)現(xiàn)扭矩的無(wú)接觸傳遞的一種新型泵,也就是電機(jī)帶動(dòng)外轉(zhuǎn)子(即外磁鋼)總成旋轉(zhuǎn)時(shí),通過(guò)磁
    發(fā)表于 10-30 16:10 ?2587次閱讀

    磁力泵密封圈的加工工藝

    磁力泵生產(chǎn)加工工藝,磁力泵加工過(guò)程中的特殊處理及說(shuō)明, 磁力泵密封圈的加工工藝
    發(fā)表于 01-28 17:28 ?1481次閱讀

    磁力泵工作原理_磁力泵結(jié)構(gòu)圖及其特點(diǎn)

    本文主要對(duì)磁力泵工作原理、磁力泵結(jié)構(gòu)圖及其特點(diǎn)進(jìn)行分析,磁力泵主要包含電機(jī)、支架、外磁缸(主動(dòng)轉(zhuǎn)子)、內(nèi)磁缸(從動(dòng)轉(zhuǎn)子)、隔離罩、滑動(dòng)軸承、傳動(dòng)軸、葉輪和泵體等。
    發(fā)表于 09-27 17:27 ?6w次閱讀
    <b class='flag-5'>磁力</b>泵工作原理_<b class='flag-5'>磁力</b>泵結(jié)構(gòu)圖及其特點(diǎn)

    磁力齒輪發(fā)展綜述

    磁力齒輪具有結(jié)構(gòu)簡(jiǎn)單、無(wú)摩擦、無(wú)油污、少維護(hù)和自動(dòng)過(guò)載保護(hù)等特點(diǎn),是一種較理想的傳動(dòng)設(shè)備。本文綜述了國(guó)內(nèi)外有關(guān)磁力齒輪的研究,按照時(shí)間順序回顧了其發(fā)展歷程,總結(jié)歸納了其發(fā)展脈絡(luò)和演進(jìn)過(guò)程;橫向比較了
    發(fā)表于 03-22 15:45 ?0次下載
    <b class='flag-5'>磁力</b>齒輪發(fā)展綜述

    磁力耦合器的作用_磁力耦合器的優(yōu)點(diǎn)

    磁力耦合器是一種全新的傳動(dòng)機(jī)構(gòu),是一個(gè)純機(jī)械產(chǎn)品,沒(méi)有工作環(huán)境的限制。更適合于易燃易爆的環(huán)境,由于磁力耦合器是通過(guò)磁場(chǎng)傳遞扭矩的傳動(dòng)裝置,電動(dòng)機(jī)與負(fù)載轉(zhuǎn)軸之間沒(méi)有任何機(jī)械連接。
    的頭像 發(fā)表于 08-19 14:34 ?2.6w次閱讀
    <b class='flag-5'>磁力</b>耦合器的作用_<b class='flag-5'>磁力</b>耦合器的優(yōu)點(diǎn)

    磁力啟動(dòng)器工作原理_磁力啟動(dòng)器作用

    本文主要闡述了磁力啟動(dòng)器工作原理及磁力啟動(dòng)器的作用。
    的頭像 發(fā)表于 11-20 10:02 ?3.4w次閱讀

    磁力泵結(jié)的工作原理

    磁力傳動(dòng)泵,簡(jiǎn)稱磁力泵。與屏蔽泵一樣,結(jié)構(gòu)上只有靜密封沒(méi)有動(dòng)密封。所以可以在輸送液體時(shí)無(wú)泄漏。用在石化系統(tǒng)輸送易燃、易爆、易揮發(fā)、有毒、有腐蝕及貴重液體等。 ? ?磁力泵結(jié)的工作原理 磁力
    的頭像 發(fā)表于 07-30 11:42 ?2175次閱讀

    磁力耦合器安裝間隙怎么調(diào)

    磁力耦合器(Magnetic Coupling)是一種利用磁力傳遞能量的裝置,廣泛應(yīng)用于工業(yè)自動(dòng)化、機(jī)器人、醫(yī)療設(shè)備等領(lǐng)域。磁力耦合器具有無(wú)接觸、無(wú)磨損、低噪音、高效率等優(yōu)點(diǎn),但其性能受到安裝間隙
    的頭像 發(fā)表于 08-14 10:11 ?1097次閱讀
    主站蜘蛛池模板: 久久男人视频 | 天天干天天摸 | 一级毛片aaaaaa视频免费看 | 欧美在线视频7777kkkk | 四虎永久在线视频 | 美女免费视频是黄的 | 精品噜噜噜噜久久久久久久久 | 女色窝人体色77777 | 免费国产不卡午夜福在线观看 | 久久riav二区三区 | 天天射干 | 全部免费特黄特色大片视频 | 欧美日本三级 | bt种子在线www天堂官网 | 国产拍拍1000部ww | 高清国产亚洲va精品 | 最新在线网址 | 特级淫片aaaa毛片aa视频 | 精品国产成人系列 | 男啪女色黄无遮挡免费视频 | 国产婷婷一区二区三区 | 亚洲欧洲色 | 亚洲一区免费视频 | 高hnp汁水bl总受软萌受 | 日本在线观看成人小视频 | 奇米第四狠狠777高清秒播 | 高清色| 亚洲另类激情综合偷自拍 | 国产一级大片在线观看 | 色吧在线视频在线观看 | 清朝荒淫牲艳史在线播放 | aaa一级黄色片 | 呦交小u女国产秘密入口 | 久久这里精品青草免费 | 久久久www免费人成看片 | 欧美怡红院免费全部视频 | 中国一级特黄真人毛片 | 国产福利你懂的 | 激情欧美一区二区三区中文字幕 | 777丰满影院 | 色综合天天综合网站中国 |