2011-01-07 43 views
4

即时通讯新的网络爬行。我打算建造一履带节省RapidShare的链接包括URL,其中发现,RapidShare的链接搜索引擎...使用Django构建搜索引擎的建议

换句话说,我要建立类似于filestube.com

后一些网站搜索,我发现Scrapy适用于Django。我试图找到有关Django的Nutch的整合,但一无所获

我希望你能给我建议建立这类网站...尤其是履带

回答

7

为最有名的可插拔的应用程序是Django-Haystack它允许您连接到几个搜索后端:

  • Solr/Lucene的兼容流行语的Apache基金会项目
  • Whoosh原来的Python搜索库
  • Xapian另一个很好的语义搜索引擎

草垛允许你使用它看起来像Django自己的查询集语法直接使用这些搜索引擎(这一切发生有自己的API和方言)的API。

如果刮痧工具后是中庸之道,什么工具,你使用:BeautifulSoup或斗志旺盛,你会在你自己,编写Python代码,将解析要分析什么,然后填充您Django模型。
这甚至可以是独立的python脚本,在commands.py模块中可用。

如果你有很多要搜索的文件,你可能需要一个索引,它经常重建,并且允许快速搜索而不会碰到django ORM。
使用Solr索引(例如)可以实时创建其他字段,例如基于实际模型字段的虚拟字段(例如:分割作者姓名和姓氏,添加大写文件标题字段,无论如何)

当然,F你不需要快速的指数,关键字升压或语义分析,你仍然可以做了一对夫妇的Django模型领域的经典全文搜索我:

+0

BeautifulSoup是该死的缓慢和死:) scrappy更好,它使用etree – virhilo 2011-01-07 17:53:54

0

你查过DjangoItem?这是一个实验性的Scrapy功能,但它的工作已知