ssbc 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
ssbc 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
ssbc 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 GPLv2
操作系统 跨平台
软件类型 开源软件
所属分类 应用工具P2P/BT
开源组织
地区 国产
投 递 者 80000
适用人群 未知
收录时间 2015-07-14

软件简介

这是 www.shousibaocai.org 的网站源代码。 开源的目的是为了促进技术交流和相互学习,把DHT与搜索引擎技术应用到更广泛的领域去。

本站于2015年5月使用django改写。 本站于2019年使用nodejs改写。 与爬虫相关的代码都在目录spider目录下。

作为最早在国内研究和实践DHT爬虫的人,我的灵感是来自芬兰Helsinki大学的这篇论文: Real-World Sybil Attacks in BitTorrent Mainline DHT 英文好的同学应该很容易读懂,跟我写的不到300行的爬虫代码大致原理一样。初次接触DHT网络的可以结合我之前的文章阅读,或者拜读Kevin Lynx的博客。所以具体原理在这里就不再阐述了。

手撕包菜一开始只是为了纯粹的技术研究,没有去想这个搜索引擎能给网民带来什么样的福利。当时采集了大量的数据,发现有一半以上的资源为限级内容,于是试图去对资源进行分类并且做了很多这方面的工作。譬如,基本上能通过一套规则能筛选出限级内容,对资源进行分类,如果是视频还能匹配出是哪一部影片。可惜,这些工作我主观上认为对生活应用并没有太大价值,于是就放弃了深入的研究。或许是因为网民使用此类搜索引擎大部分都是具有明显的目的性。

手撕包菜经历了多次点技术变更

开源版本使用了django网站框架重写,之前是Flask,再早期是tornado。电影FM也是使用tornado,后来发现tornado并不适用于任何场景。以内容为王的网站还是django比较擅长,只是入门时间比其他框架都较长。早期数据库采用了MongoDB,因为配合Python读写数据很方便,也不用关注数据结构,搜索功能采用自带的关键词搜索,不过后来随着资源数量增加,性能也明显跟不上。今年换了WiredTiger引擎,自带的fulltext search还是不给力。另外Amazon的cloudsearch是个坑,土豪可以考虑,性能真的很不错,就是比较贵。最后还是搭建一个SphinxSearch吧,数据库也换成MySQL(MyISAM引擎),配合起来也很方便。Sphinx创建全文索引的速度很给力,官方的自评也很高,我自己测试1000w的资源(大概3GB),1分钟左右就索引完毕。不信,大家可以自测一下。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
0 评论
38 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部