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:
BeautifulSoup est sacrément lent et mort :) scrappy est meilleur et il utilise etree – virhilo
BeautifulSoup de lxml est gentil http://codespeak.net/lxml/2.0/elementsoup.html –