2011-01-07 2 views
4

Im nouveau dans l'exploration Web. Je vais construire un moteur de recherche qui permet d'économiser le robot d'exploration des liens Rapidshare, y compris URL où que les liens Rapidshare trouvés ...Suggestion pour créer un moteur de recherche à l'aide de Django

En d'autres termes, je vais construire un site similaire à filestube.com

Après quelques En cherchant, j'ai trouvé Scrapy qui fonctionne avec Django. J'ai essayé de trouver sur l'intégration nutch avec Django, mais rien trouvé

J'espère que vous pouvez me donner une suggestion pour construire ce genre de site ... en particulier le robot d'exploration

Répondre

7

L'application connectables plus connu pour c'est Django-Haystack qui vous permet de vous connecter à plusieurs backends recherche:

  • Solr/Lucene la fondation Apache conforme à mot à la mode projet
  • Whoosh une bibliothèque de recherche python natif
  • Xapian un autre très bon moteur de recherche sémantique

botte de foin vous permet d'utiliser une API qui ressemble à une syntaxe propre queryset de Django pour utiliser ces moteurs de recherche directement (qui tout cela se passe d'avoir leur propre API et dialectes).

Si vous êtes juste après le grattage des outils, quel que soit l'outil que vous utilisez: BeautifulSoup ou Scrappy, vous serez sur votre propre, l'écriture de code python qui analysera ce que vous voulez analyser, puis remplir votre modèles django.
Cela peut même être des scripts python distincts, disponibles dans le module commands.py.

Si vous avez beaucoup de fichiers à rechercher, vous aurez probablement besoin d'un index, qui est fréquemment reconstruit et permet des recherches rapides sans toucher l'ORM django. L'utilisation d'un index Solr (par exemple) vous permet de créer d'autres champs à la volée, comme des champs virtuels basés sur les champs de votre modèle réel (ex: prénom et nom de l'auteur, en ajoutant un champ de titre en majuscules, etc.)

Bien sûr, f vous ne pouvez pas besoin d'indexation rapide, coup de pouce mot-clé ou l'analyse sémantique, vous encore faire une recherche de texte intégral classique sur deux champs de modèle django i:

+0

BeautifulSoup est sacrément lent et mort :) scrappy est meilleur et il utilise etree – virhilo

+0

BeautifulSoup de lxml est gentil http://codespeak.net/lxml/2.0/elementsoup.html –

0

Avez-vous vérifié DjangoItem? C'est une fonctionnalité Scrapy expérimentale, mais il est connu pour fonctionner

Questions connexes