Skip to content

KuzmenkoAlexey/SearchEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SearchEngine

Данный проект является реализацией поисковой системы по статьям хабра. Любая поисковая система состоит из двух основых этапов:

  1. Сбор информации и построение индекса – веб-краулер;
  2. Поиск информации в индексе по запросу пользователя – реализовано в виде клиент-серверного приложения.

Для запуска понадобится интерпретатор python 3 версии. Понадобятся библиотеки: Flask, BeautifulSoup, html5lib и Pickle

Как ни странно, для того чтобы что-то найти сначала нужно это что-то проиндексировать (и только в таком порядке).

Веб-краулер

Для запуска веб-краулера необходимо выполнить файл Crawler.py в папке crawler.

Все настройки краулера находятся в settings.py:

  • CRAWL_DELAY – задержка между запросами к хабру, по правилам сайта должна быть не меньше 10 секунд, иначе есть шанс получить бан, но мы ведь те еще хулиганы;
  • MAX_PAGE_COUNTER – количество страниц которые Вы хотите проиндексировать;
  • START_PAGE_INDEX – индекс статьи на с которой необходимо начать.

Результатом работы краулера будет файл hashindex.pkl в папке Data, в котором будет хранится индекс с целью дальнейшего поиска в нем.

Серверная часть

Для запуска необходимо выполнить файл SearchServer.py в папке searchServer. Настрой также хранятся в settings.py:

  • HOST – ip-адрес, на котором Вы хотите запустить сервер, по умолчанию localhost;
  • PORT – номер порта, по умолчанию стоит None – приложение выберет его за Вас;
  • SPELL_CHECKER – включает првоверку орфографии если значение True; При старте серверной части сначала загрузятся все необходимые модули (словарь, индекс), потом сам сервер. Когда он будет готов, на экране Вы увидете адрес по которому можно перейти в браузере и начать что-то искать.

Этапы выполнения

Наша замечательная презентация

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published