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.
- 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.
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.
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)
)
)
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
)
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
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.
Esse projeto é licenciado nos termos da licença open-source MIT e está disponível de graça.
Veja todas as alterações desse projeto no arquivo CHANGELOG.md.
-
Abaixo está uma lista de links interessantes e projetos similares: