開源的dht爬蟲已經(jīng)有很多了,有php版本的,python版本的和nodejs版本。經(jīng)過一些測試,發(fā)現(xiàn)還是nodejs版本的爬蟲效率最高,測試使用的是github上面的已有開源項目,https://github.com/dontcontactme/p2pspider/。

p2pspider開發(fā)的時候es2015才剛出來,所以決定用es2015把p2pspider項目重寫一遍,順便深入學習一下dht爬蟲的原理。

dht爬蟲總體分成兩個模塊。

dht模塊

dht模塊實現(xiàn)一個dht節(jié)點,用來和網(wǎng)上的其他dht節(jié)點進行通信,在通信的過程中完成收集磁力鏈接的任務(wù)。

bt模塊

bt模塊實現(xiàn)一個bt協(xié)議的客戶端程序,當發(fā)現(xiàn)一個磁力鏈接可以下載的時候,通過bt客戶端和遠程的服務(wù)器通信,下載種子的元數(shù)據(jù),

原理解析

0×01 相關(guān)術(shù)語

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓(xùn),做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學習是年輕人改變自己的最好方式