最近对 DHT 网络感兴趣,于是自己撸了个 DHT 爬虫 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
beilun
V2EX    Node.js

最近对 DHT 网络感兴趣,于是自己撸了个 DHT 爬虫

  •  
  •   beilun 2016-05-09 20:55:31 +08:00 15622 次点击
    这是一个创建于 3517 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自己撸的一个 nodejs 版 dht 爬虫,用来加入 dht 网络,获取 infohash ,代码见 gayhub.
    gayhub: https://github.com/beilunyang/dhtCrawler
    从昨天晚上 8 点开爬至今,已经用我 5 美刀的 DO vps 爬了 1200 多万 infohash 。。由于还没搞定 metadata 获取的代码,所以具体有多少真实种子还不知道(手工试了几个,发现获取率还挺高的)。 我遇到的问题,以及一些琐碎都已经在代码里注释了,欢迎对 dht 感兴趣的新人参考(大佬们,多给点意见( ⊙ o ⊙ )啊!)。

    21 条回复    2018-05-03 16:43:02 +08:00
    xiaoyu9527
        1
    xiaoyu9527  
       2016-05-09 21:07:12 +08:00
    node js 比 python 还牛逼?
    xiaoyu9527
        2
    xiaoyu9527  
       2016-05-09 21:07:49 +08:00
    求教使用教程
    beilun
        3
    beilun  
    OP
       2016-05-09 21:14:21 +08:00
    @xiaoyu9527 没用 python 写过,但光从 infohash 的获取来说,应该是 nodejs 要快。
    beilun
        4
    beilun  
    OP
       2016-05-09 21:16:33 +08:00
    @xiaoyu9527 见文档
    congeec
        5/div>
    congeec  
       2016-05-09 21:28:42 +08:00
    >采用 nodejs 编写,由于 js 天生优秀的异步非阻塞 io 支持,无需向 python 等其他语言一样采用超时机制同步等待响应,所以速度非常快。

    .....Python 也有协程,有 async/await 。原生支持异步。看看 uvloop 你就知道有多快
    miyuki
        6
    miyuki  
       2016-05-09 21:36:10 +08:00 via Android
    注意蜜罐
    miyuki
        7
    miyuki  
       2016-05-09 21:42:32 +08:00 via Android
    beilun
        8
    beilun  
    OP
       2016-05-09 21:48:50 +08:00
    @congeec 已充电。。对 python 的了解并不多,只用过 python2 ,没接触过 python3, 在我映像中 python2 异步一般都是通过 twisted ,谢谢指正。
    gamexg
        9
    gamexg  
       2016-05-09 23:24:22 +08:00 via Android
    Python + gevent 或者 golang ,代码直接按同步多线程写,语言自动转换成为异步协程,很省事。
    ljcarsenal
        10
    ljcarsenal  
       2016-05-09 23:30:46 +08:00
    有什么 dht 的入门资料?
    beilun
        11
    beilun  
    OP
       2016-05-09 23:36:08 +08:00 via Android
    @gamexg gevent 对 windows 的支持貌似不怎么好,而且 js 天生就是异步,觉得还是 js 更省事。 golang 完全没接触过(ω)
    NullMan
        13
    NullMan  
       2016-05-10 08:31:05 +08:00
    http://github.com/Fuck-You-GFW/p2pspider

    这个, 我写的, 可以获取 metadata, 也是 Node.js 写的, 1300+ star
    Soar360
        14
    Soar360  
       2016-05-10 08:52:32 +08:00
    我大 C#使用异步之后会更快吧~
    beilun
        15
    beilun  
    OP
       2016-05-10 09:15:36 +08:00 via Android
    @NullMan 膜拜大角虫
    neocanable
        16
    neocanable  
       2016-05-10 09:42:22 +08:00
    实现过一个 ruby 的,在国内非公网的 ip 上爬,并且拿到 infohash 在各个种子网站上下载,内容丰富~
    beilun
        17
    beilun  
    OP
       2016-05-10 19:35:04 +08:00 via Android
    @Soar360 期待 c#版
    puorg
        18
    puorg  
       2016-12-02 22:15:35 +08:00
    es2015 版本的 dht 爬虫 https://github.com/callmelanmao/p2pspider
    buseni
        19
    buseni  
       2017-08-09 10:40:31 +08:00
    不错,先学习了
    DaTaoGe
        20
    DaTaoGe  
       2018-04-26 11:42:52 +08:00
    您好,我测试了一下,速度确实很快,但是还没有成功解析一个了,我这里有一个 python 实现的,获取的能一多半解析吧,但是速度太慢了,想问下楼主,您现在还搞这个么?
    soho176
        21
    soho176  
       2018-05-03 16:43:02 +08:00
    收藏了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5172 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 07:43 PVG 15:43 LAX 23:43 JFK 02:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86