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

OSCHINA-MIRROR/yurunsoft-nCov-Crawler

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

nCov-Crawler

Описание

Проект веб-скрапера для сбора актуальных данных о коронавирусе с использованием Swoole.

Источник данных: https://3g.dxy.cn/newh5/view/pneumonia_peopleapp

Сбор данных осуществляется для следующих категорий: общие данные, данные по провинциям, данные по городам, а также данные по зарубежным регионам.

Пример доступа: https://test.yurunsoft.com/ncov/

Архитектура программного обеспечения

Скраперы и API

Разработано с использованием фреймворка imi на основе Swoole https://www.imiphp.com/

Группа общения imi: 17916227 Нажмите, чтобы присоединиться к группе

Полный курс обучения по imi-фреймворку бесплатно доступен здесь: https://www.bilibili.com/video/av78158909

imi-cron — задачи планировщика https://doc.imiphp.com/components/task/cron.html

YurunHttp — пакет HTTP-запросов https://gitee.com/yurunsoft/YurunHttp

Извлечение данных с помощью регулярных выражений

Отображение данных

Vue + Vux

Инструкции по установке

Скраперы и API

Сначала установите среду Swoole: https://wiki.swoole.com/wiki/page/6.html

Перейдите в директорию src, выполните команду: composer update

Загрузите файл db_ncov.sql в базу данных MySQL

Отредактируйте конфигурацию базы данных в файле src/config/config.php:

'resource'    =>    [
    'host'        => '127.0.0.1',
    'port'        => 3306,
    'username'    => 'root',
    'password'    => 'root',
    'database'    => 'db_ncov',
    'charset'     => 'utf8mb4',
    'options'   =>  [
        \PDO::ATTR_STRINGIFY_FETCHES    =>  false,
        \PDO::ATTR_EMULATE_PREPARES     =>  false,
    ],
],
```### Отображение данных

Директория: `src/web`

Установка: `npm install`

Отредактируйте файлы `.env` и `.env.development` в директории `src/web` для изменения адреса API

Разработка и отладка: `vue-cli-service serve`

Компиляция статических страниц: `vue-cli-service build`

После компиляции статических страниц необходимо добавить прокси Nginx

## Инструкции по использованию

Перейдите в директорию `src`, выполните команду: `vendor/bin/imi server/start`

По умолчанию сбор данных происходит каждые три минуты. Для изменения этого значения обратитесь к файлу: `src/Module/Crawler/Cron/CrawlerTask.php`

## Участие в проекте

1. Fork этот репозиторий
2. Создайте новую ветку Feat_xxx
3. Подтвердите изменения
4. Создайте новый Pull Request

## API интерфейсы

### /api/statistics

Интерфейс статистики

Пример доступа: <https://test.yurunsoft.com/ncov/api/statistics>

### /api/areas

Интерфейс данных по областям

Параметры:| Название | Обязательный | Описание |
| - | - | - |
| city |  | Включает ли данные о подгородах, 1  включает, 0  не включает. По умолчанию значение равно 1 |

Пример адреса:

<https://test.yurunsoft.com/ncov/api/areas>

<https://test.yurunsoft.com/ncov/api/areas?city=0>

### /api/statisticsDateSpan

Интерфейс запроса статистических данных за указанный период времени

Пример адреса: <https://test.yurunsoft.com/ncov/api/statisticsDateSpan?beginDate=2020-01-28&endDate=2020-02-29>

Параметры:

| Название | Обязательный | Описание |
| - | - | - |
| beginDate |  | Дата начала |
| endDate |  | Дата окончания |### /api/areasDateSpan

Интерфейс запроса статистических данных за указанный период времени для конкретной области

Пример адреса: <https://test.yurunsoft.com/ncov/api/areasDateSpan?countryType=1&provinceName=Сычуань%20провинция&beginDate=2020-01-28&endDate=2020-02-29>

Параметры:

| Название | Обязательный | Описание |
| - | - | - |
| countryType |  | Тип страны; 1  Китай, 2  иностранная страна |
| provinceName |  | Название региона (провинция) |
| beginDate |  | Дата начала |
| endDate |  | Дата окончания |

### /api/cityDateSpan

Интерфейс запроса статистических данных за указанный период времени для конкретного города

Пример адреса: <https://test.yurunsoft.com/ncov/api/cityDateSpan?parentId=34&cityName=Уси&beginDate=2020-01-28&endDate=2020-02-29>

Параметры:

| Название | Обязательный | Описание |
| - | - | - |
| parentId |  | ID родителя (внутренний номер) |
| cityName |  | Название города |
| beginDate |  | Дата начала |
| endDate |  | Дата окончания |

Введение

Проект по сбору данных о динамике распространения коронавируса в режиме реального времени на основе нового фреймворка Swoole + imi. Можно посмотреть графики тенденций по провинциям и городам: https://test.yurunsoft.com/ncov/. Развернуть Свернуть
MulanPSL-1.0
Отмена

Обновления

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

Участники

все

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

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