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

p2pspider開發(fā)的時(shí)候es2015才剛出來(lái),所以決定用es2015把p2pspider項(xiàng)目重寫一遍,順便深入學(xué)習(xí)一下dht爬蟲的原理。

dht爬蟲總體分成兩個(gè)模塊。

dht模塊

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

bt模塊

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

原理解析

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

延伸閱讀

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