2011-01-07 8 views
4

ウェブクロールで新しいです。私は、クローラはそのRapidshareのリンクが見つかったURLを含むRapidshareのリンクを保存した検索エンジンを構築するつもりだ...つまりDjangoを使用して検索エンジンを構築するための提案

は、私はいくつかの後filestube.com

に似たウェブサイトを構築するつもりです検索すると、ScrapyがDjangoで動作することがわかりました。私はそのために、特にクローラ

答えて

7

最もよく知られているプラ​​グイン可能なアプリがある...ジャンゴとNutchの統合について見つけることを試みたが、私はあなたがウェブサイトのこの種を構築するための私の提案を与えることができることを望む何も

を発見しませんしました

  • Solr/Lucene流行語に準拠したApacheの基礎プロジェクト
  • WhooshネイティブのPythonの検索ライブラリ
  • :あなたは、いくつかの検索バックエンドに接続することができます
  • Xapian別の非常に良いセマンティック検索エンジン

干し草は、あなたが直接(すべてが自分のAPIや方言を持つことが起こる)これらの検索エンジンを使用するために、Djangoの独自のクエリセットの構文のように見えるAPIを使用することができます。

あなたが使用しますどんなツール、ツールを掻き落とした後ジュストしている場合:BeautifulSoupまたはスクラッピ、あなたが解析したいものを解析し、その後、あなたに移入されます自分自身、書き込みPythonコードになりますがdjangoモデル。
これは、別々のpythonスクリプトでもあり、commands.pyモジュールで利用できます。

検索するファイルがたくさんある場合は、頻繁に再構築され、django ORMに遭遇することなく高速検索が可能なインデックスが必要になるでしょう。
Solrインデックスを使用すると、実際のモデルのフィールドに基づいた仮想フィールドのように、オンザフライで他のフィールドを作成することができます(例:作成者のfirstnameとlastnameの分割、大文字のファイルタイトルフィールドの追加など)

もちろん

あなたが迅速な物価スライド、キーワードブーストや意味解析を必要としないfを、あなたはまだDjangoのモデルフィールドのカップルの上に古典的な全文検索を行うことができますI:

+0

BeautifulSoupは遅くて死んでいます:) scrappyはより良く、etreeを使用しています – virhilo

+0

lxmlのBeautifulSoupはいいhttp://codespeak.net/lxml/2.0/elementsoup.html –

0

DjangoItemをチェックしましたか?実験的なScrapy機能ですが、動作することが知られています

関連する問題