【问题标题】:Suggestion for building search engine using Django使用 Django 构建搜索引擎的建议
【发布时间】:2011-01-07 15:05:31
【问题描述】:

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

也就是说,我要建一个类似filestube.com的网站

经过一番搜索,我发现Scrapy 可以与 Django 一起使用。我试图找到有关 nutch 与 Django 的集成,但一无所获

希望你能给我建这种网站的建议……尤其是爬虫

【问题讨论】:

    标签: django search-engine nutch scrapy


    【解决方案1】:

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

    • Solr / Lucene 符合流行语的 Apache 基金会项目
    • Whoosh 原生 python 搜索库
    • Xapian 另一个非常好的语义搜索引擎

    haystack 允许您使用类似于 Django 自己的 Queryset 语法的 API 来直接使用这些搜索引擎(它们都恰好有自己的 API 和方言)。

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

    如果您有很多文件要搜索,您可能需要一个索引,该索引会经常重建并允许快速搜索而无需使用 django ORM。
    使用 Solr 索引(例如)使您能够即时创建其他字段,例如基于真实模型字段的虚拟字段(例如:拆分作者的名字和姓氏,添加大写的文件标题字段等)

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

    【讨论】:

    • BeautifulSoup 太慢了,死了:) scrappy 更好,它使用 etree
    【解决方案2】:

    你检查过DjangoItem吗?这是一个实验性的 Scrapy 功能,但众所周知它可以工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      • 2010-09-25
      • 1970-01-01
      相关资源
      最近更新 更多