Dmitriy Kononov
Обсудим задачуСвязаться

ПРОЕКТ

Лондонская консалтинговая компания собирала новости из 120 источников в Scraper Hub на Python

Сервис на Python и Node.js собирал новости и материалы со 120 источников, целиком или по блокам, и показывал стадию сбора в реальном времени.

источников в одном сервисе
120
начало работы
2023
Отрасль
Консалтинг
Страна
Лондон, Великобритания
Период
2023–2024
Роль
Full-stack разработчик

Сбор новостей и данных

Веб-источники → сбор на Python → аналитические заметки

Как это было

Было, сделали, стало

  1. Было

    Исходная ситуация

    • Новости и материалы разбросаны по множеству веб-сайтов
    • Многие источники доступны только как обычные веб-страницы
    • Нужен свой инструмент, который собирает всё в одном месте
  2. Сделали

    Веб-источники → сбор на Python → аналитические заметки

  3. СталоРеализовано

    Как работает теперь

    • Сбор всего сразу или отдельных блоков из одного интерфейса
    • Стадия сбора видна в интерфейсе в реальном времени
    • Аналитические заметки по собранному писали модель и люди
  4. Результат

    В цифрах

    источников в одном сервисе
    120
    начало работы
    2023

КАК УСТРОЕНО

Путь данных через систему

Схема по описанию проекта
  1. 1Веб-источники
  2. 2сбор на Python
  3. 3аналитические заметки
Коротко о проекте

Сервис на Python и Node.js собирал новости и материалы со 120 источников, целиком или по блокам, и показывал стадию сбора в реальном времени.

PythonNode.jsWebSocketsNginxDebianGoogle Cloud

Модули и тексты взяты из опубликованного описания. Схема не воспроизводит закрытые интерфейсы и данные клиента.

Ближе к лету 2023 года я начал делать для консалтинговой компании в Лондоне сервис сбора новостей и материалов. Он забирал материалы с множества веб-источников и показывал ход работы прямо в интерфейсе, а по собранному материалу модель и люди писали аналитические заметки. Это один из проектов, о которых я рассказываю на странице Разработка для консалтинговой компании в Лондоне, 2023–2024.

Задача

Компании нужен был свой инструмент, который собирает новости и материалы из разных источников в одном месте. Многие нужные материалы были не в XML-лентах, а на обычных веб-страницах.

Что я сделал

Я настроил виртуальную машину в Google Cloud с Debian, доступы и авторизацию, написал всю логику сбора на Python, серверную часть на Node.js и интерфейс сервиса. Наружу всё отдавалось через Nginx.

Как это было устроено

Пользователь заходил в сервис и выбирал, что собрать: всё сразу или только отдельные блоки. После запуска интерфейс показывал, на какой стадии сейчас сбор. Обновления приходили через WebSockets, так что ход работы был виден сразу.

Для разных источников в проекте были отдельные сборщики, и их набор менялся по ходу работы.

По собранному материалу затем писали аналитические заметки. Их готовили и модель, и люди.

Всего сервис собирал материалы со 120 источников.

Похожая задача

Если вам нужно регулярно собирать данные с сайтов, где нет удобного API, посмотрите обработку данных на Python. Если собранные тексты дальше должна обрабатывать модель, пригодится раздел про AI в рабочих процессах. В том же сотрудничестве я делал Quote Finder, который находил цитату в статье и подсвечивал её в оригинале. Остальные проекты собраны на странице Разработка для консалтинговой компании в Лондоне, 2023–2024.

Расскажите, какие источники нужно собирать и что делать с результатом. Обсудить задачу

Те же технологии, другие задачи