写了个磁力搜索的网页 - 收录最近热门分享的资源

标签: Internet 我的分享 | 发表时间:2013-05-11 05:16 | 作者:Xiaoxia
出处:http://xiaoxia.org

好吧,又很疯狂地做了一个东西: http://bt.shousibaocai.com/

btsearch

平常我们高端用户都会用到BT工具来分享一些好玩的资源,例如ubuntu 13.04的ISO安装盘,一些好听的音乐等。这个时候我们会进入一个叫做P2P的网络,大家都在这个网络里互相传递数据,这种分布式的数据传输解决了HTTP、FTP等单一服务器的带宽压力。以往的BT工具(包括现在也有)在加入这个P2P网络的时候都需要借助一个叫Tracker的中心服务器,这个服务器是用来登记有哪些用户在请求哪些资源,然后让请求同一个资源的用户都集中在一起互相分享数据,形成的一个集群叫做Swarm。

这种工作方式有一个弊端就是一旦Tracker服务器出现故障或者线路遭到屏蔽,BT工具就无法正常工作了。所以聪明的人类后来发明了一种叫做DHT(Distributed Hash Table)的去中心化网络。每个加入这个DHT网络的人都要负责存储这个网络里的资源信息和其他成员的联系信息,相当于所有人一起构成了一个庞大的分布式存储数据库。在DHT里定位一个用户和定位一个资源的方法是一样的,他们都使用SHA-1产生的哈希值来作标识。

具体如何工作的呢?举个形象点的例子,把DHT网络比作一个朋友圈子,你想进入这个圈子必须要有一个人带领你进去,通常会有一些特定人负责介绍你进入这个圈子。当你被A带进这个朋友圈,此刻你就只认识A而已。但是你的目的是想找奥巴马总统,所以你会问A要奥巴马的联系方式,但是A没有奥巴马的联系方式,他会介绍一个美国朋友B给你认识。于是你去问B要奥巴马的联系方式,B其实也没有奥巴马的联系方式,但是B认识一个州长C。于是你又得到了C的联系方式,C把奥巴马的联系方式告诉你之后,你就可以写信或者致电给奥巴马了。

这种DHT网络听起来很不错,没有中心服务器,也不怕被DDOS,看看海盗湾如今还能挺立那么久就知道了。但是有没有安全隐患在里面呢?答案是肯定有的。有些不听话的用户可能会在DHT网络里捣乱,譬如说撒谎,明明自己不是奥巴马,却偏说自己是奥巴马,这样会误导其他人无法正常获取想要的资源。另外,用户在DHT网络里的隐私可能会被窃听,因为在DHT网络里跟其他用户交换资源的时候,难免会暴露自己的IP地址,所以别人就会知道你有什么资源,你在请求什么资源了。这也是目前DHT网络里一直存在的一个弱点。

正是利用这个弱点,我根据DHT协议用Python写了一段白菜程序,加入了这个DHT网络。在这个网络里,我会认识很多人,越多越好,并且观察这些人的举动,比如说A想要ubuntu的安装盘,那么我会把A的这个行为记下来,同时我会把ubuntu安装盘这个资源的信息也记下来,保存到数据库中,统计请求ubuntu这个资源的人有多少。如今,这个爬虫已经运行了两个昼夜,以每分钟记录3000多个资源信息的速度工作(单机器单线程,耗尽了CPU的一个核心)。到目前为止(48小时),共发出4亿条交友请求,收到1100万条来自朋友的资源请求。到底有多少资源目前另外一个程序还在分析中,从已分析的300万请求中,独立资源个数为20万个。保守估计这1100万条请求中涉及资源个数为50万以上。迟点有空的话,对这些资源进行分类和分析。

在DHT网络里发现的资源基本上都是最新的活跃资源,一些几年前的资源现在没有用户请求的话就不会被挖掘出来。想想海盗湾沉淀了那么久才500万资源,我跑了两天的程序就已经探测到50万资源,所以随着时间推移,会有更多的资源被探测出来,而且那些最新的能够被接近实时的速度发现到。本来通过增加一个节点进程可以加快探测速度,但是我没有这样做的原因是分析请求的哈希值的速度赶不上发现新请求的速度。有兴趣的朋友可以自己琢磨一下这方面的东西,国内研究DHT网络的人应该比较少。前段时间我打探过几家现在做P2P视频播放的公司里,没有人做这方面的研究。

 

[DHT Protocol]  http://www.bittorrent.org/beps/bep_0005.html

 

相关 [磁力 搜索 网页] 推荐:

写了个磁力搜索的网页 - 收录最近热门分享的资源

- - Xiaoxia[PG]
好吧,又很疯狂地做了一个东西: http://bt.shousibaocai.com/. 平常我们高端用户都会用到BT工具来分享一些好玩的资源,例如ubuntu 13.04的ISO安装盘,一些好听的音乐等. 这个时候我们会进入一个叫做P2P的网络,大家都在这个网络里互相传递数据,这种分布式的数据传输解决了HTTP、FTP等单一服务器的带宽压力.

开源磁力搜索爬虫dhtspider原理解析

- - 蓝猫的博客 - 分享前端开发经验和教程
开源地址: https://github.com/callmelanmao/dhtspider. 开源的dht爬虫已经有很多了,有php版本的,python版本的和nodejs版本. 经过一些测试,发现还是nodejs版本的爬虫效率最高,测试使用的是github上面的已有开源项目, https://github.com/dontcontactme/p2pspider/.

手撕包菜磁力搜索引擎的开源说明

- - Xiaoxia[PG]
已经一年半载没有写博客了,搞得上来不知道写些什么. 博客上的内容还时不时有人评论,大部分我还是会一一回复的. 有些人会关注我的博客用什么主机,我的博客现在是用Linode的主机,因为现在很便宜,而且配置不差. 另外比较多的是问手撕包菜的源代码能否提供,能否出售. 今天我写这个文章就是把手撕包菜的网站开源了,包括网站页面,DHT爬虫和搜索引擎相关部分.

搜索引擎网页去重算法

- - 醉清风
  相关统计数据表明:互联网上近似重复的网页的数量占网页总数量的比例高达29%,完全相同的网页大约占网页总数量的22%.研究表明,在一个大型的信息采集系统中,30%的网页是和另外70%的网页完全重复或近似重复的.     即:互联网的网页中相当高的比例的网页内容是近似相同或完全相同的. 搜索爬虫抓取会产生网页重复的类型:.

JavaScript解析:让搜索引擎看到更真实的网页

- - 搜索研发部官方博客
长期以来,站长们选择使用JavaScript来实现网页的动态行为,这样做的原因是多种多样的,如加快页面的响应速度、降低网站流量、隐藏链接或者嵌入广告等. 由于早期的搜索引擎没有相应的处理能力,导致在索引这类网页上往往出现问题,可能无法收录有价值的资源,也可能出现作弊. 引入JavaScript解析的目的,正是为了解决上述两方面的问题,其结果也就是使搜索引擎可以更为清晰的了解用户实际打开该网页时看到的效果.

Google 测试将详细的 Google Maps 搜索结果放到网页搜索结果右侧

- 丁丁 - 谷奥——探寻谷歌的奥秘
如果你搜索一个地名,那么Google很有可能会在左侧的第一位搜索结果显示一个Google Maps onebox,显示出地图来. 有时地图也会出现在右侧的AdWords广告区域,并且随着你向下滚动页面,它也依然保持浮动在最上面. 不过最近Wissam Dandan发现了一个新的形式(如上图). 可以看到搜索结果右侧变宽了许多,除了地图以外,还显示出该位置的照片、细节信息(附近的地标建筑、开放时间、经过的公车)以及一些来自第三方网站的评价链接.

让 Google 网页搜索无限滚动的 Chrome 扩展 Google Unlimited Search

- authur - 谷奥——探寻谷歌的奥秘
感谢扩展作者 Sneezry 的自爆. 我们之前报道过Google正在小范围测试可无限下滚的网页搜索结果页面,如果你喜欢类似Google Images的无限下滚界面,那么也应该希望让Google网页搜索也变成这样吧. Google Unlimited Search这枚Chrome扩展即可实现这个目的,安装之后在Google网页搜索结果页面向下滚动时,网页会自动刷新加载更多的10个结果,整个体验很流畅,省得一次一次按下一页了哦.

Google 测试可一直在同一页加载搜索结果的网页

- xing - cnBeta.COM
Google之前测试过一直保持在顶部的搜索框,现在他们又在搜索界面页面的下部做其了小动作. 如上图,你看不到经典的Goooooooooogle链接来跳转到后面的搜索结果页面了,取而代之的是Show more results的按钮,点击即可再在当前页面已经显示的10个搜索结果下方继续显示出10个新的搜索结果.

Google最新稳定版Chrome浏览器支持Instant Pages,0秒打开搜索结果中网页

- Brandon - 36氪
在6月份的Google Inside Search大会上,Google发布了通过图片搜索图片、桌面语音搜索,还有Instant Pages功能. Instant Pages主要是为用户节省时间,当你搜索某关键词到达搜索结果页之后,通过Instant Pages技术,结果中的目标网页可以在0秒内瞬间打开.

两个在网页上在线搜索苹果 App Store 应用商店内软件的网站

- iBeyond - 苹果fans-中文 Apple Blog
    每次想搜索苹果 App Store 应用商店里的软件总得启动 iTunes 有点麻烦,而且速度偏慢. 下面介绍两个很快很方便的网站,你能在网页上搜索苹果 App Store 应用商店内的软件.     首先推荐的苹果 App Store 在线搜索网站是 http://labs.stephenou.com/itunes#,网页非常简洁,搜索框下面两个下拉菜单里一个选择搜索类别(App、电子书、音乐、Podcast 等等),另一个选择国家.