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

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

  •  
  •   beilun May 9, 2016 15794 views
    This topic created in 3656 days ago, the information mentioned may be changed or developed.

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

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

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

    这个, 我写的, 可以获取 metadata, 也是 Node.js 写的, 1300+ star
    Soar360
        14
    Soar360  
       May 10, 2016
    我大 C#使用异步之后会更快吧~
    beilun
        15
    beilun  
    OP
       May 10, 2016 via Android
    @NullMan 膜拜大角虫
    neocanable
        16
    neocanable  
       May 10, 2016
    实现过一个 ruby 的,在国内非公网的 ip 上爬,并且拿到 infohash 在各个种子网站上下载,内容丰富~
    beilun
        17
    beilun  
    OP
       May 10, 2016 via Android
    @Soar360 期待 c#版
    puorg
        18
    puorg  
       Dec 2, 2016
    es2015 版本的 dht 爬虫 https://github.com/callmelanmao/p2pspider
    buseni
        19
    buseni  
       Aug 9, 2017
    不错,先学习了
    DaTaoGe
        20
    DaTaoGe  
       Apr 26, 2018
    您好,我测试了一下,速度确实很快,但是还没有成功解析一个了,我这里有一个 python 实现的,获取的能一多半解析吧,但是速度太慢了,想问下楼主,您现在还搞这个么?
    soho176
        21
    soho176  
       May 3, 2018
    收藏了
    About     Help     Advertise     Blog     API     FAQ     Solana     1025 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 53ms UTC 22:32 PVG 06:32 LAX 15:32 JFK 18:32
    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