-
使用 Python 的 Scrapy 框架开发的网络爬虫,用来爬取磁力链接和种子;
使用 PHP CI 框架开发的简易网站;
搜索引擎目前直接使用的 MySQL,将来可以考虑使用 sphinx;
中文分词。
用 PHP 写了一个简陋版的基于逆向最大匹配算法的小类,词库呢,哈哈,直接使用了 Chrome 的分词表 ,分词表可以在这个地址下载: http://www.mdbg.net/chindict/chindict.php?page=cedict 。
新词发现机制
基于搜索关键词的新词发现机制。
目前词库方面还有一个很大的问题,比如最新的电影无法分词,例如 星际穿越 会被分词为“星际”和“穿越”,因此“被偷走的那五年, 穿越 火线,极速蜗牛,了不起的盖茨比,摩登年代, 星际 迷航,乔布斯传。”也出现在了搜索结果中。
当然这也不算事大问题,但是 霍比特人 却被分词为了“霍”、“比特”、“人”了,好在搜索结果里面没有啥东西乱入。这些属于过度分词,通过增加词库内容可以解决,因此准备些一个豆瓣爬虫,将豆瓣的所有电影都加入词库,用来辅助分词。
资源别名
这会使我们的系统更加智能,更加人性化。我们在百度搜索时,经常会遇到这样的情况,当我们搜索“开核桃利器”,百度提示我们“您要找的
是不是诺基亚?”。当我们搜索“世界上最好的语言”,百度提示我们“您要找的是不是PHP?”。同样,当用户搜索“星际穿越”时,应该为用户提供
Interstellar的匹配结果。
我们不用实现复杂的在线翻译,只需要继续爬取豆瓣,将电影的中英文都做成对照表就可以了。而且,为了考虑到某些宅男的特殊需求,我们还需要做一个日语的对照表。
英文分词
英文还需要分词?空格不就是词语边界吗?你有这样的译文很正常,我最初也是这么想的,因此英文只是简单的使用了 PHP 的 函数。
但是我刚才(2015-02-01 21:59:35)看搜索日志时发现了一些问题,今天 xart 关键词被搜索了 169 次,而 x-art 关键词仅仅被搜索了 54 次,但是 x-art 才是它的官方名词啊(不要问我为什么知道的这么多)。因此我刚刚调整了一下代码,将 xart 和 x-art 统一定向到了 x-art。
BitTorrent 低版本最初使用 Python 开发,而且是开源的,因此很多类库都是直接使用的 BitTorrent 的,也有一些类库和辅助函数直接移植到了 PHP 平台上;(Petru Paler 写的 bencode 太赞了,老婆问我:你为什么跪着写代码?)
基于 DHT 网络的磁力链接和BT种子的搜索引擎架构
2024-11-02 01:25 浏览:84
上周开发了一个磁力链接和 BT 种子的搜索引擎 {Magnet & Torrent} ,本文简单介绍一下主要的系统功能和用到的技术。