• Какую базу данных выбрать для поисковой системы?

    @rPman
    Все зависит от планируемых размеров (пределы) базы данных, т.е. количества данных, которые необходимо индексировать. Если нужно считанные десятки тысяч сайтов отслеживать, хватит абсолютно любой sql базы данных, миллионы страниц и fulltext индексы хоть postgres хоть mysql хоть самописные на файлах (пока индексы влезают в оперативную память).

    Проблемы начинаются когда индексы не влезают в оперативную память, когда база данных расползается по кластеру или когда скоростей интернет провайдера уже не хватает для прохода обновления базы поисковой системы и данные в поиске становятся неактуальными. Начиная с какого то (большого) объема данных, простого поиска по ключевым словам уже будет недостаточно. А чего стоят алгоритмы ранжирования (сортировки результата), ведь на любой запрос у тебя будет больше чем десяток страниц результатов. Потом борьба с сеошниками, фейковыми зонами интернета (когда сайты генерируют терабайты мусорных данных, и узнаешь ты про них когда место на диске кончится или процент их содержания в индексе превысит половину), интеллектуальная интерпретация данных (с этого в принципе нужно начинать, когда страница должна восприниматься не как просто текстовый документ, а набор информационных зон, их важность (реклама, навигация или статья), разделение (несколько статей на странице), проблема динамического интернета (благодаря 15-летним инструкциям люди до сих пор делают сайты в виде ленты с постраничной навигацией с конца, когда 10-ая страница уже завтра будет показывать не те статьи что были вчера) и вообще javascript в частности и тьма тьмущая других проблем.

    Конечно, можно шикануть и использовать последние веяния ИИ, когда по информационным блокам на странице, генерируются вектора, определяющие сам смысл содержания, такие, что можно искать по ним, вычисляя расстояние между ними и запросом пользователя, только когда осознаешь стоимость бота, который будет стороить такой индекс по страницам и проблемы монетизации результата, сразу передумаешь.
    Ответ написан
    1 комментарий
  • Какую базу данных выбрать для поисковой системы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Из поисковых систем для Full-text search я помню только две. Sphinx, Lucene (на его базе Elastic/Solr). Но насколько они применимы в данном примере - я не знаю. Надо глубже понимать задание. На уровне юз-кейсов.

    Зачем тут графовая БД - непонятно. Приведите пример что вы хотите записывать в граф.
    Ответ написан
    8 комментариев
  • Где оригинальный репозиторий bs4?

    Stalker_RED
    @Stalker_RED
    Пишем в гугле "pip bs4", кликаем на хоумпейдж а там написано, что разработка ведется на launchpad, а не гитхабе.
    И ссылка на репозиторий https://git.launchpad.net/beautifulsoup
    Ответ написан
    2 комментария
  • Из-за медленного интернета selenium не загружает важные js файлы?

    @duff89
    Возможно помогу, если Вы имеете ввиду файлы js (или любые другие типа css), которые постоянно грузятся одни и те же с сайта без изменения, то можно их подменить на локальные. Сделать можно через selenium-wire
    Суть примерно такая:
    self.driver.request_interceptor = interceptor  # ставим подмену запросов
    def interceptor(request):
        """Подмена css на локальные"""
    
        """эти файлы не меняем"""
        real_urls = (
            'styles.css',
    
        )
        if str(request.url)[-4:] == '.css':
            """Ищем название файла"""
            file = re.search(r"/([^/]+\.css)$", str(request.url)).group(1)
            if file not in real_urls:
                try:
                    request.create_response(
                        status_code=200,
                        headers={'Content-Type': 'text/css'},  # Optional headers dictionary
                        body=open(f'fake_files/{file}').read()  # Optional body
                    )
                except:
                    pass

    Код не идеальный, но суть понять можно
    Ответ написан
    1 комментарий
  • Из-за медленного интернета selenium не загружает важные js файлы?

    Не уверен что это поможет, но попробуй сменить DNS сервер, с дефолтного РТК на какой-нибудь Яндекс.
    У меня в целом были проблемы с подгрузкой страниц пока я на роутере их ДНСы не сменил
    Ответ написан
    1 комментарий