使用Django构建搜索引擎的建议

使用Django构建搜索引擎的建议,django,search-engine,nutch,scrapy,Django,Search Engine,Nutch,Scrapy,我是网络爬虫新手。我要建立一个搜索引擎,爬虫保存Rapidshare链接,包括找到Rapidshare链接的URL 换句话说,我将建立一个类似于filescobe.com 经过一些搜索,我找到了Django的作品。我试图找到nutch与Django的集成,但什么也没找到 我希望你能给我建议建立这样的网站。。。尤其是crawler,它是最著名的可插拔应用程序,允许您连接到多个搜索后端: 符合Apache基金会项目的流行词 本机python搜索库 另一个很好的语义搜索引擎 haystack允许您

我是网络爬虫新手。我要建立一个搜索引擎,爬虫保存Rapidshare链接,包括找到Rapidshare链接的URL

换句话说,我将建立一个类似于
filescobe.com

经过一些搜索,我找到了Django的作品。我试图找到nutch与Django的集成,但什么也没找到


我希望你能给我建议建立这样的网站。。。尤其是crawler,它是最著名的可插拔应用程序,允许您连接到多个搜索后端:

  • 符合Apache基金会项目的流行词
  • 本机python搜索库
  • 另一个很好的语义搜索引擎
haystack允许您使用类似Django自己的Queryset语法的API直接使用这些搜索引擎(所有搜索引擎都有自己的API和方言)

如果您只是在清理工具之后,无论您使用什么工具:或scrapy,您都将自己编写python代码,解析您想要解析的内容,然后填充django模型。
这甚至可以是单独的python脚本,在commands.py模块中提供

如果要搜索的文件很多,可能需要一个索引,该索引可以频繁重建,并允许在不点击django ORM的情况下进行快速搜索。
使用Solr索引(例如),您可以动态创建其他字段,例如基于真实模型字段的虚拟字段(例如:拆分author firstname和lastname,添加大写文件标题字段,等等)

当然,如果您不需要快速索引、关键字增强或语义分析,您仍然可以对几个django模型字段进行经典的全文搜索:

  • 请参阅“搜索('something')”字段查找
  • 和Django

您检查过了吗?这是一个实验性的Scrapy功能,但众所周知它是有效的

BeautifulSoup非常慢而且死气沉沉:)Scrapy更好,它使用的是etree