wagner-goncalves / srcidadao-coletor-senado
用于下载联邦参议院开放数据服务XML的库,并将XML处理到MySQL数据库中。
dev-master
2018-10-29 19:16 UTC
Requires
- php: >=7.1
- catfan/medoo: *
- vlucas/phpdotenv: ^2.4
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2019-12-29 05:36:54 UTC
README
用于下载联邦参议院开放数据服务XML的库,并将XML处理到MySQL数据库中。
先决条件
- MySQL服务器5.6或更高版本。
- PHP 7或更高版本。
- Apache服务器2.2或更高版本。
开始方式
通过composer
将SrCidadão添加到composer.json中。
$ composer require wagner-goncalves/srcidadao-coletor-Senado
更新composer
$ composer update
安装
- 创建名为"srcidadao"的数据库,可在以下位置找到:这里。
- 在文件/src/Senado/Config/.config中配置数据库连接以及下载XML文件的文件夹。
- 为之前配置的文件夹(.config)授予写入权限,以便接收下载的XML文件。
- 配置防火墙的任何例外,因为库连接到众议院远程网站。
如何使用
数据下载和处理
初始化
// Se instalado via composer, use este código para incluir autoloader no topo do projeto. require 'vendor/autoload.php'; // SrCidadão namespace use SrCidadao\Coletor\Senado\Downloader; use SrCidadao\Coletor\Senado\Processor; //Recupera variáveis de configuração $dotenv = new Dotenv\Dotenv(__DIR__ . "/../src/Senado/Config/", ".config"); $dotenv->load(); //Codigo sequencial. Deve ser gerado na tabela Senado_processamento antes de iniciar o download e processamento. $codProcessamento = 1; $downloader = new Downloader($codProcessamento); // Passo 1, download da XMLs $processor = new Processor($codProcessamento); // Passo 2, processa XML para banco de dados
参议员
$result = $this->getDownloader(1)->obterSenadores(); //Obtém lista de senadores ativos $result = $this->getProcessor(1)->obterSenadores(); //Processa para a tabela senado_senador
在全体会议中提出的议题
$result = $this->getDownloader(1)->obterMaterias("20170130", "N"); //Obtém matérias (resumo) votadas em prenário (um XML por data de última movimentação) - Data no Formato Ymd, "N" -> Matéria com tramitação já finalizada $result = $this->getProcessor(1)->obterMaterias();//Processa a lista de matérias para a tabela senado_materia
议题详细信息
$result = $this->getDownloader(1)->obterMateriaPorID(); //Obtém detalhes de matérias votadas - Deve ser executado após processamento no exemplo anterior. $result = $this->getProcessor(1)->obterMateriaPorID(); //Processa detalhes de matérias para a tabela senado_detalhemateria e senado_materiaassunto
每位参议员在议题上的投票
$result = $this->getDownloader(1)->obterVotacaoMateria(); //Obtém votação de cada senador - Deve ser executado $result = $this->getProcessor(1)->obterVotacaoMateria();; //Processa votos de cada senador na matéria para a tabela senado_votoparlamentar
请参阅/tests/DownloaderTest.php中的测试类
许可证
LGPL-3.0