定制 ccuffs/uffs-ru-scraping 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ccuffs/uffs-ru-scraping

Composer 安装命令:

composer require ccuffs/uffs-ru-scraping

包简介

Biblioteca para obter dados dos restaurantes universitários da UFFS de forma automatizada

README 文档

README


uffs-ru-scraping

Um pacote PHP para raspagem dos cardápios dos Restaurantes Universitários da Universidade Federal da Fronteira Sul. A ideia desse pacote é permitir que APIs sejam criadas com informações sobre o cardápio dos RUs dos campi.

IMPORTANTE: coloque aqui alguma mensagem que é muito relevante aos usuários do projeto, se for o caso.

✨ Features

  • Obtenção automática de informações dos cardápios através da listagem no site da UFFS;
  • Obtem os cardápios publicados no site pela data. ex: 18/07/2022;
  • Obtem cardápios publicados pelo dia da semana. ex: segunda;
  • Dados estruturados para facilitar a manipulação.

🚀 Começando

1. Adicione o pacote ao seu projet

Na pasta raiz do seu projeto PHP, rode:Geralmente o primeiro passo para começar é instalar dependências para rodar o projeto. Rode:

composer require ccuffs/uffs-ru-scraping

Todas as dependências serão instaladas.

2. Obtenção dos Cardápios

Para obtem qualquer cardápio do RU, você utilizará a classe UniversityRestaurantUFFS. Um objeto dessa classe possui diversos métodos para obtenção de cardápios.

O mais simples é a obtenção de todos os cardápios disponíveis no site através do link ou nome do campus:

$ur = new \CCUFFS\Scrap\UniversityRestaurantUFFS();
$menu = $ur->getMenuByCampus("https://www.uffs.edu.br/campi/chapeco/restaurante_universitario");

//ou

$menu = $ur->getMenuByCampus($ur->campus["chapeco"]));

Nesse caso, $menu será um vetor de chave/objeto onde a chave será a data no formato d/m/Y e o objeto será um vetor com os elementos que compõe o cardápio no dia específico:

Array
(
    [18/07/2022] => Array
        (
            [0] => Alface

            [1] => Repolho branco

            [2] => Cenoura cozida

            [3] => Arroz branco

            [4] => Arroz integral

            [5] => Feijão-preto

            [6] => Farofa de cenoura c/ batata palha

            [7] => Cubos suínos assado c/ legumes

            [8] => PTS refogada

            [9] => Fruta
        )
...

    [15/07/2022] => Array
        (
            [0] => Alface

            [1] => Acelga 

            [2] => Beterraba

            [3] => Arroz branco

            [4] => Arroz integral

            [5] => Feijão preto 

            [6] => Macarrão c/ tomate e manjericão (contém glúten)

            [7] => Cubos bovinos ao molho 

            [8] => PTS à chinesa

            [9] => Pudim de baunilha (contém lactose)
        )
)

2. Obtenção de Cardápio por dia ou dia da semana

Se você deseja obter o cardápio de um dia específico, basta utilizar o método getMenuByDate usando o link do cardápio e a data no formato d/m/Y como parâmetros:

$ur = new UniversityRestaurantUFFS();
$menu = $ur->getMenuByDate($ur->campus["chapeco"], '25/07/2022');

ou utilizando o método getMenuByWeekDay usando o link do cardápio e o dia da semana nos formatos seg, ter, qua, qui, sex como parâmetros:

$ur = new UniversityRestaurantUFFS();
$menu = $ur->getMenuByWeekDay($ur->campus["chapeco"], 'seg');

Nesses dois métodos, se não é encontrado o valor do dia especificado, ele retornará null.

O resultado desses métodos será semelhante à esse:

Array
(
    [0] => Alface
    [1] => Beterraba
    [2] => Abobrinha
    [3] => Arroz branco
    [4] => Arroz integral
    [5] => Feijão-preto
    [6] => Batata palha
    [7] => Estrogonoffe bovino (contém lactose)
    [8] => Estrogonoffe de grão-de-bico (contém lactose)
    [9] => Fruta
)

👩‍💻 Desenvolvimento

Se você pretende criar features novas, corrigir bugs ou afins, siga o passo a passo abaixo.

Clone o repositório:

git clone https://github.com/ccuffs/uffs-ru-scraping && cd uffs-ru-scraping

Instale as dependências:

composer install

Implemente o que for necessário e faça seus testes através do test.php:

php tests/test.php

🤝 Contribua

Sua ajuda é muito bem-vinda, independente da forma! Confira o arquivo CONTRIBUTING.md para conhecer todas as formas de contribuir com o projeto. Por exemplo, sugerir uma nova funcionalidade, reportar um problema/bug, enviar um pull request, ou simplemente utilizar o projeto e comentar sua experiência.

🎫 Licença

Esse projeto é licenciado nos termos da licença open-source MIT e está disponível de graça.

🧬 Changelog

Veja todas as alterações desse projeto no arquivo CHANGELOG.md.

🧪 Projetos semelhates

ccuffs/uffs-ru-scraping 适用场景与选型建议

ccuffs/uffs-ru-scraping 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 32 次下载、GitHub Stars 达 2, 最近一次更新时间为 2022 年 07 月 25 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 ccuffs/uffs-ru-scraping 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 ccuffs/uffs-ru-scraping 我们能提供哪些服务?
定制开发 / 二次开发

基于 ccuffs/uffs-ru-scraping 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 32
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 12
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-07-25