Предложение по созданию поисковой системы с использованием Django - PullRequest
4 голосов
/ 07 января 2011

Я новичок в веб-сканировании. Я собираюсь создать поисковую систему, на которой сканер сохраняет ссылки Rapidshare, включая URL-адрес, по которому были найдены ссылки Rapidshare ...

Другими словами, я собираюсь создать сайт, похожий на filestube.com

После некоторых поисков я обнаружил, что Scrapy работает с Django. Я пытался найти интеграцию Nutch с Django, но ничего не нашел

Я надеюсь, что вы можете дать мне предложение по созданию такого типа веб-сайта ... особенно гусеничного

Ответы [ 2 ]

7 голосов
/ 07 января 2011

Самым известным подключаемым приложением для этого является Django-Haystack , которое позволяет подключаться к нескольким поисковым бэкэндам:

  • Solr / Lucene базовый проект Apache, совместимый с модным словом
  • Ух нативная библиотека поиска Python
  • Xapian другая очень хорошая семантическая поисковая система

стог сена позволяет вам использовать API, который выглядит как собственный синтаксис Queryset в Django, для непосредственного использования этих поисковых систем (которые все имеют свой собственный API и диалекты).

Если вы правы после очистки инструментов , какой бы инструмент вы ни использовали: BeautifulSoup или Scrappy, вы будете самостоятельно писать код Python, который будет анализировать то, что Вы хотите разобрать, а затем заполнить свои модели Django.
Это могут быть даже отдельные скрипты Python, доступные в модуле commands.py.

Если у вас есть много файлов для поиска, вам, вероятно, понадобится индекс, который часто перестраивается и позволяет выполнять быстрый поиск, не обращаясь к django ORM.
Использование индекса Solr (например) позволяет вам создавать другие поля на лету, например, виртуальные поля, основанные на полях вашей реальной модели (например, разделение имени и фамилии автора, добавление поля заголовка файла в верхнем регистре, что угодно)

Конечно, если вам не нужна быстрая индексация, повышение ключевых слов или семантический анализ, вы все равно можете выполнять классический полнотекстовый поиск по паре полей модели django i:

1 голос
/ 12 января 2011

Вы проверили DjangoItem ? Это экспериментальная функция Scrapy, но она известна как

...