1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/yoqu-story-magic

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Описание распределённого параграфного парсера

Автор: Yoqu, Zack

Время создания: 2 июня 2017 года в 16:47


Введение в парсер

Проект предназначен для изучения основ парсинга и создан с целью реализовать распределённый многоплатформенный интеллектуальный парсер новелл. Он позволяет динамически отправлять задачи на парсинг, использовать единую линию управления и множество IP-адресов для защиты от блокировки (используется Eureka server для управления соединением).

На данный момент проект находится в начальной стадии разработки. После завершения планируется следующие возможности:

  • Предоставление RESTful API для отображения данных всей библиотеки новелл, требует реализации безопасной аутентификации.

  • Создание интерфейса для управления правилами парсинга сайтов.

  • Разработка простого графического интерфейса для чтения новелл.

Прогресс разработки

  • Управление правилами в административной панели
  • Настройка Eureka-server
  • Реализация конкретных функций парсинга новелл
  • Оптимизация хранения новелл в базе данных
  • Реализация кэширования новелл через Redis
  • Предоставление HTML-интерфейса для пользователя
  • Разработка RESTful API с авторизацией OAuth2

Запуск проекта## Шаги запуска

  1. Клонировать проект на локальную машину, импортировать его в IDEA и установить зависимости.
  2. Запустить метод main класса EurekaServerApplication в модуле eureka-server.
  3. Измените учетные данные для подключения к базе данных в файлах application-dev.yml модулей story-admin и frontend.
  4. Запустите story-admin. При первом запуске будут созданы начальные скрипты в базе данных.
  5. Запустите story-worker.
  6. Запустите story-frontend. Откройте браузер и перейдите по адресу http://localhost:3333/api/v1/search?name=***введите название книги*** Например, введите http://localhost:3333/api/v1/search?name=逆鳞 Полученные результаты будут выглядеть так:
    {
        "code": 200,
        "data": {
            "stories": [
                {
                    "newChapter": "Седьмая глава сто восемнадцатая - Ветер вновь поднимается! [Полностью текстовый сайт ZhaoYaJuu с моментальными обновлениями]",
                    "resourceSite": null,
                    "chapters": null,
                    "author": null,
                    "lastUpdateDate": null,
                    "name": "Обидчивый Дракон",
                    "id": null,
                    "bookUrl": "http://www.sodu.cc/mulu_26997.html",
                    "resourceSiteUrl": null
                },
                {
                    "newChapter": "Глава 163 - Преобразование врага в друга",
                    "resourceSite": null,
                    "chapters": null,
                    "author": null,
                    "lastUpdateDate": null,
                    "name": "Обидчивый Дракон: Небесная история",
                    "id": null,
                    "bookUrl": "http://www.sodu.cc/mulu_458710.html",
                    "resourceSiteUrl": null
                }
            ]
        },
        "message": null,
        "success": true
    }

Дополнительная документация APIПосле успешного запуска проекта локально, введите localhost:3333/swagger-ui.html для просмотра документации API. Для отображения используется Swagger UI.

Скриншоты:Документация API для novels

Структура проекта

Каталоговая структура


├── common-utils       общие утилиты
├── eureka-server      центр регистрации и обнаружения сервисов, используемый для управления несколькими worker-группами
├── story-admin        административный интерфейс, управление правилами сбора данных и другими функциями
├── story-api          общие API
├── story-dao          слой доступа к данным
└── story-frontend     передний слой доступа, основной для доступа к содержанию novels
└── story-worker       сборщик novels, все действия, связанные с пауками, выполняются worker'ами

Архитектурные схемы

Схема архитектуры novels

Схемы бизнес-процессов

Схема процесса чтения novels

Общение по программе

Общение через QQ-группу: 536747201

Используемые технологии

Выбранные технологические фреймворки и инструменты (включая, но не ограничиваясь):

  • Java
  • JDK 1.8
  • Maven
  • Spring Boot
  • Spring Cloud
  • Spring Cloud Eureka
  • MySQL
  • Redis
  • WebMagic
  • Swagger UI

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Проект краулера-робота для художественной литературы на основе WebMagic. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/yoqu-story-magic.git
git@api.gitlife.ru:oschina-mirror/yoqu-story-magic.git
oschina-mirror
yoqu-story-magic
yoqu-story-magic
devlop