Пример #1
0
def main():
    hoje = datetime.strftime(datetime.now(), '%Y-%m-%d')
    DATA_DIR = f'data_{hoje}'

    urlretrieve(url, f'{DATA_DIR}/documento_andamento_atual.zip')
    zip_file = ZipFile(f'{DATA_DIR}/documento_andamento_atual.zip', 'r')
    zip_file.extractall(f'{DATA_DIR}')
    zip_file.close()
    os.remove(f'{DATA_DIR}/documento_andamento_atual.zip')

    xml_data = f'{DATA_DIR}/documento_andamento_atual.xml'
    dataset = xml_df_internal(xml_data).process_data()
    dataset = dataset[[
        'IdDocumento', 'Data', 'NrOrdem', 'Descricao', 'IdTpAndamento',
        'TpAndamento', 'IdEtapa', 'NmEtapa', 'IdComissao', 'SiglaComissao'
    ]]
    dataset = dataset.rename(
        columns={
            'IdDocumento': 'id_documento',
            'Data': 'dt_tramitacao',
            'NrOrdem': 'nr_ordem',
            'Descricao': 'ds_andamento',
            'IdTpAndamento': 'id_tp_andamento',
            'TpAndamento': 'tp_andamento',
            'IdEtapa': 'id_etapa',
            'NmEtapa': 'nm_etapa',
            'IdComissao': 'id_comissao',
            'SiglaComissao': 'sg_comissao'
        })

    dataset['ds_andamento'] = dataset['ds_andamento'].apply(remove_break_line)

    save_files(dataset, 'documentos_tramitacao')
    os.remove(xml_data)
Пример #2
0
def main():
    hoje = datetime.strftime(datetime.now(), '%Y-%m-%d')
    DATA_DIR = f'data_{hoje}'

    urlretrieve(url, f'{DATA_DIR}/proposituras.zip')
    zip_file = ZipFile(f'{DATA_DIR}/proposituras.zip', 'r')
    zip_file.extractall(f'{DATA_DIR}')
    zip_file.close()
    os.remove(f'{DATA_DIR}/proposituras.zip')

    xml_data = f'{DATA_DIR}/proposituras.xml'
    dataset = xml_df_internal(xml_data).process_data()
    dataset = dataset[[
        'AnoLegislativo', 'CodOriginalidade', 'Ementa', 'DtEntradaSistema',
        'DtPublicacao', 'IdDocumento', 'IdNatureza', 'NroLegislativo'
    ]]
    dataset = dataset.rename(columns={
        'IdDocumento': 'id_documento',
        'CodOriginalidade': 'cd_originalidade',
        'AnoLegislativo': 'tx_ano_legislativo',
        'DtEntradaSistema': 'dt_apresentacao',
        'DtPublicacao': 'dt_publicacao',
        'IdNatureza': 'id_natureza',
        'NroLegislativo': 'nr_legislativo',
        'Ementa': 'tx_ementa'
    })
    save_files(dataset, 'documentos')
    os.remove(xml_data)
Пример #3
0
def main():
    hoje = datetime.strftime(datetime.now(), '%Y-%m-%d')
    DATA_DIR = f'data_{hoje}'

    urlretrieve(url, f'{DATA_DIR}/legislacao_norma_anotacoes.zip')
    zip_file = ZipFile(f'{DATA_DIR}/legislacao_norma_anotacoes.zip', 'r')
    zip_file.extractall(f'{DATA_DIR}')
    zip_file.close()
    os.remove(f'{DATA_DIR}/legislacao_norma_anotacoes.zip')

    xml_data = f'{DATA_DIR}/legislacao_norma_anotacoes.xml'
    dataset = xml_df_internal(xml_data).process_data()
    dataset = dataset[[
        'IdNorma', 'NumNormaRel', 'DataNormaRel', 'TipoNormaRel', 'DsRel',
        'DsOrigem', 'IdTipoRel', 'NumComplNormaRel'
    ]]
    dataset = dataset.rename(columns={
        'IdNorma': 'id_norma',
        'NumNormaRel': 'nr_norma_relacionada',
        'DataNormaRel': 'dt_norma_relacionada',
        'TipoNormaRel': 'tp_norma_relacionada',
        'DsRel': 'ds_anotacao',
        'DsOrigem': 'ds_origem',
        'IdTipoRel': 'id_tp_relacionada',
        'NumComplNormaRel': 'nr_complemento_norma_relacionada'
    })
    dataset['ds_anotacao'] = dataset['ds_anotacao'].apply(remove_break_line)

    save_files(dataset, 'legislacao_anotacoes')
    os.remove(xml_data)
def process_deputados():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[[
        'NomeParlamentar', 'Matricula', 'IdDeputado', 'IdSPL', 'IdUA',
        'Partido', 'Sala', 'Andar', 'Telefone', 'Email', 'PlacaVeiculo',
        'Aniversario', 'Situacao'
    ]]
    dataset = dataset.rename(
        columns={
            'NomeParlamentar': 'nm_deputado',
            'Matricula': 'nr_matricula',
            'IdDeputado': 'id_deputado',
            'IdSPL': 'id_spl',
            'IdUA': 'id_unid_admin',
            'Partido': 'sg_partido',
            'Sala': 'sala',
            'Andar': 'andar',
            'Telefone': 'telefone',
            'Email': 'email',
            'PlacaVeiculo': 'placa_carro',
            'Aniversario': 'aniversario',
            'Situacao': 'status'
        })
    save_files(dataset, 'data', 'indice_deputados')
Пример #5
0
def process_partidos():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[['Numero', 'Sigla', 'Nome']]
    dataset = dataset.rename(columns={
        'Numero': 'nr_partido', 'Sigla': 'sg_partido', 'Nome': 'nm_partido'
    })
    save_files(dataset, 'data', 'indice_partidos')
def main():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[['IdTipoParcer', 'TipoParecer']]
    dataset = dataset.rename(columns={
        'IdTipoParcer': 'id_tp_parecer',
        'TipoParecer': 'tp_parecer'
    })
    save_files(dataset, 'documentos_pareceres_tp_indice')
Пример #7
0
def main():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[['IdSubTema', 'SubTema']]
    dataset = dataset.rename(columns={
        'IdSubTema': 'id_subtema',
        'SubTema': 'ds_subtema'
    })
    save_files(dataset, 'legislacao_subtemas_indice')
Пример #8
0
def main():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[['IdTipo', 'DsTipo']]
    dataset = dataset.rename(columns={
        'IdTipo': 'id_tp_norma',
        'DsTipo': 'ds_tp_norma'
    })
    save_files(dataset, 'legislacao_tipos_indice')
Пример #9
0
def process_proposicoes_palavras():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[['IdPalavra', 'Palavra', 'PalavraSemAcento']]
    dataset = dataset.rename(columns={
        'IdPalavra': 'id_palavra', 'Palavra': 'termo',
        'PalavraSemAcento': 'termo_sem_acento'
    })
    save_files(dataset, 'data', 'indice_proposicoes_palavras-chave')
def process_proposicoes_palavras():
    xml_data = 'data/documento_palavras.xml'
    dataset = xml_df_internal(xml_data).process_data()
    dataset = dataset[['IdDocumento', 'IdPalavra']]
    dataset = dataset.rename(columns={
        'IdDocumento': 'id_proposicao', 'IdPalavra': 'id_palavra'
    })
    save_files(dataset, 'data', 'proposicoes_palavras')
    os.remove(xml_data)
Пример #11
0
def main():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[['IdDeputado', 'IdArea', 'NrOrdem']]
    dataset = dataset.rename(columns={
        'IdDeputado': 'id_deputado',
        'IdArea': 'id_area',
        'NrOrdem': 'nr_ordem'
    })
    save_files(dataset, 'deputados_area_atuacao')
Пример #12
0
def main():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[['IdDeputado', 'IdBaseEleitoral', 'NrOrdem']]
    dataset = dataset.rename(
        columns={
            'IdDeputado': 'id_deputado',
            'IdBaseEleitoral': 'id_base',
            'NrOrdem': 'nr_ordem'
        })
    save_files(dataset, 'deputados_bases_eleitorais')
Пример #13
0
def main():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[['IdPalavra', 'Palavra', 'PalavraSemAcento']]
    dataset = dataset.rename(
        columns={
            'IdPalavra': 'id_palavra',
            'Palavra': 'tx_termo',
            'PalavraSemAcento': 'tx_termo_sem_acento'
        })
    save_files(dataset, 'documentos_palavraschave_indice')
Пример #14
0
def process_servidores_lotacoes_historico():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[[
        'NomeFuncionario', 'NomeUA', 'IdUA', 'DataInicio', 'DataFim'
    ]]
    dataset = dataset.rename(columns={
        'NomeFuncionario': 'nm_funcionario', 'NomeUA': 'nm_unid_admin',
        'IdUA': 'id_unid_admin', 'DataInicio': 'dt_inicio', 'DataFim': 'dt_fim'
    })
    save_files(dataset, 'data', 'servidores_lotacoes_historico')
Пример #15
0
def main():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[['idNatureza', 'nmNatureza', 'sgNatureza', 'tpNatureza']]
    dataset = dataset.rename(columns={
        'idNatureza': 'id_natureza',
        'nmNatureza': 'nm_natureza',
        'sgNatureza': 'sg_natureza',
        'tpNatureza': 'tp_natureza'
    })
    save_files(dataset, 'documentos_naturezas_indice')
def process_proposicoes_autores():
    xml_data = 'data/documento_autor.xml'
    dataset = xml_df_internal(xml_data).process_data()
    dataset = dataset[['IdAutor', 'IdDocumento', 'NomeAutor']]
    dataset = dataset.rename(
        columns={
            'IdDocumento': 'id_proposicao',
            'IdAutor': 'id_autor',
            'NomeAutor': 'nm_autor'
        })
    save_files(dataset, 'data', 'indice_proposicoes_autores')
    os.remove(xml_data)
def process_proposicoes_natureza():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[['idNatureza', 'nmNatureza', 'sgNatureza', 'tpNatureza']]
    dataset = dataset.rename(
        columns={
            'idNatureza': 'id_natureza',
            'nmNatureza': 'nm_natureza',
            'sgNatureza': 'sg_natureza',
            'tpNatureza': 'tp_natureza'
        })
    save_files(dataset, 'data', 'indice_proposicoes_natureza')
def process_comissoes_deliberacoes():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[[
        'IdReuniao', 'IdDocumento', 'IdPauta', 'NrOrdem', 'DataInclusao',
        'DataSaida', 'Deliberacao', 'IdDeliberacao'
    ]]
    dataset = dataset.rename(columns={
        'IdReuniao': 'id_reuniao', 'IdDocumento': 'id_documento',
        'IdPauta': 'id_pauta', 'NrOrdem': 'nr_ordem',
        'DataInclusao': 'dt_inclusao', 'DataSaida': 'dt_saida',
        'Deliberacao': 'deliberacao', 'IdDeliberacao': 'id_deliberacao'
    })
    save_files(dataset, 'data', 'comissoes_deliberacoes')
def process_comissoes_membros():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[[
        'SiglaComissao', 'IdComissao', 'NomeMembro', 'IdMembro', 'Papel',
        'IdPapel', 'Efetivo', 'DataInicio', 'DataFim'
    ]]
    dataset = dataset.rename(columns={
        'SiglaComissao': 'sg_comissao', 'IdComissao': 'id_comissao',
        'NomeMembro': 'nm_membro', 'IdMembro': 'id_membro',
        'Papel': 'ds_papel', 'IdPapel': 'id_papel', 'Efetivo': 'efetivo',
        'DataInicio': 'dt_inicio', 'DataFim': 'dt_fim'
    })
    save_files(dataset, 'data', 'comissoes_membros')
def process_servidores_cargos():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[[
        'NomeFuncionario', 'NomeCargo', 'IdCargo', 'NomeRegime',
        'IdRegime', 'DataInicio', 'DataFim'
    ]]
    dataset = dataset.rename(columns={
        'NomeFuncionario': 'nm_funcionario', 'NomeCargo': 'nm_cargo',
        'IdCargo': 'id_cargo', 'NomeRegime': 'nm_regime',
        'IdRegime': 'id_regime', 'DataInicio': 'dt_inicio',
        'DataFim': 'dt_fim'
    })
    save_files(dataset, 'data', 'servidores_cargos')
Пример #21
0
def process_deputados_gastos_cota():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[[
        'Deputado', 'Matricula', 'Ano', 'Mes', 'Tipo', 'Fornecedor',
        'CNPJ', 'Valor'
    ]]
    dataset = dataset.rename(columns={
        'Deputado': 'nm_deputado', 'Matricula': 'nr_matricula',
        'Ano': 'ano', 'Mes': 'mes', 'Tipo': 'tp_categoria',
        'Fornecedor': 'nm_fornecedor', 'CNPJ': 'nr_cnpj', 'Valor': 'valor'
    })
    clean_expenses_categories(dataset)
    save_files(dataset, 'data', 'deputados_gastos_cota')
Пример #22
0
def main():
    cols = [
        'nm_funcionario', 'ano', 'mes', 'vlr_bruto', 'vlr_liquido', 'tributos',
        'abono_permanencia', 'ferias_bruto', 'ferias_liquido',
        'ferias_desconto', '13_bruto', '13_liquido', '13_desconto',
        'retroativo_bruto', 'retroativo_liquido', 'retroativo_desconto',
        'outros_bruto', 'outros_desconto', 'indenizacao'
    ]

    ano_atual = datetime.now().year
    for ano in range(2014, ano_atual + 1):
        for mes in range(1, 13):
            mes = format(mes, '02d')
            url_base = 'https://www.al.sp.gov.br/repositorio/'
            url_file = f'folha-de-pagamento/folha-{ano}-{mes}-detalhada.html'
            url = url_base + url_file
            data = req.get(url).content
            soup = BeautifulSoup(data, 'html.parser')
            with open('temp.csv', 'a') as file:
                dw = csv.DictWriter(file, fieldnames=cols, lineterminator='\n')
                dw.writeheader()
                for tr in soup.find_all('tr')[1:]:
                    tds = tr.find_all('td')
                    dw.writerow({
                        'nm_funcionario': tds[0].get_text().strip(),
                        'ano': ano,
                        'mes': mes,
                        'vlr_bruto': sanitize_float(tds[1]),
                        'vlr_liquido': sanitize_float(tds[2]),
                        'tributos': sanitize_float(tds[3]),
                        'abono_permanencia': sanitize_float(tds[4]),
                        'ferias_bruto': sanitize_float(tds[5]),
                        'ferias_desconto': sanitize_float(tds[6]),
                        'ferias_liquido': sanitize_float(tds[7]),
                        '13_bruto': sanitize_float(tds[8]),
                        '13_desconto': sanitize_float(tds[9]),
                        '13_liquido': sanitize_float(tds[10]),
                        'retroativo_bruto': sanitize_float(tds[11]),
                        'retroativo_desconto': sanitize_float(tds[12]),
                        'retroativo_liquido': sanitize_float(tds[13]),
                        'outros_bruto': sanitize_float(tds[14]),
                        'outros_desconto': sanitize_float(tds[15]),
                        'indenizacao': sanitize_float(tds[16])
                    })

    dataset = pd.read_csv('temp.csv')
    save_files(dataset, 'servidores_salarios')
    os.remove('temp.csv')
Пример #23
0
def process_comissoes():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[[
        'IdComissao', 'NomeComissao', 'SiglaComissao', 'DescricaoComissao',
        'DataFimComissao'
    ]]
    dataset = dataset.rename(
        columns={
            'IdComissao': 'id_comissao',
            'NomeComissao': 'nm_comissao',
            'SiglaComissao': 'sg_comissao',
            'DescricaoComissao': 'ds_comissao',
            'DataFimComissao': 'dt_fim_comissao',
        })
    save_files(dataset, 'data', 'indice_comissoes')
Пример #24
0
def process_proposicoes():
    xml_data = 'data/proposituras.xml'
    dataset = xml_df_internal(xml_data).process_data()
    dataset = dataset[[
        'AnoLegislativo', 'CodOriginalidade', 'Ementa', 'DtEntradaSistema',
        'DtPublicacao', 'IdDocumento', 'IdNatureza', 'NroLegislativo'
    ]]
    dataset = dataset.rename(columns={
        'IdDocumento': 'id_proposicao', 'CodOriginalidade': 'cd_originalidade',
        'AnoLegislativo': 'ano_legislativo',
        'DtEntradaSistema': 'dt_apresentacao', 'DtPublicacao': 'dt_publicacao',
        'IdNatureza': 'natureza', 'NroLegislativo': 'nr_legislativo',
        'Ementa': 'ementa'
    })
    save_files(dataset, 'data', 'proposicoes')
    os.remove(xml_data)
Пример #25
0
def main():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[[
        'IdReuniao', 'IdPauta', 'IdComissao', 'IdDocumento', 'IdDeputado',
        'Deputado', 'TipoVoto', 'Voto'
    ]]
    dataset = dataset.rename(columns={
        'IdReuniao': 'id_reuniao',
        'IdPauta': 'id_pauta',
        'IdComissao': 'id_comissao',
        'IdDocumento': 'id_documento',
        'IdDeputado': 'id_deputado',
        'Deputado': 'nm_deputado',
        'TipoVoto': 'tp_voto',
        'Voto': 'ds_voto'
    })
    save_files(dataset, 'comissoes_votacoes')
Пример #26
0
def main():
    xml_data = req.get(url).content
    dataset = xml_df(xml_data).process_data()
    dataset = dataset[[
        'NomeFuncionario', 'NomeCargo', 'IdCargo', 'NomeRegime', 'IdRegime',
        'NomeUA', 'IdUA'
    ]]
    dataset = dataset.rename(
        columns={
            'NomeFuncionario': 'nm_funcionario',
            'NomeCargo': 'nm_cargo',
            'IdCargo': 'id_cargo',
            'NomeRegime': 'nm_regime',
            'IdRegime': 'id_regime',
            'NomeUA': 'nm_unid_admin',
            'IdUA': 'id_unid_admin'
        })
    save_files(dataset, 'servidores_lotacao_atual')
Пример #27
0
def main():
    hoje = datetime.strftime(datetime.now(), '%Y-%m-%d')
    DATA_DIR = f'data_{hoje}'

    urlretrieve(url, f'{DATA_DIR}/documento_palavras.zip')
    zip_file = ZipFile(f'{DATA_DIR}/documento_palavras.zip', 'r')
    zip_file.extractall(f'{DATA_DIR}')
    zip_file.close()
    os.remove(f'{DATA_DIR}/documento_palavras.zip')

    xml_data = f'{DATA_DIR}/documento_palavras.xml'
    dataset = xml_df_internal(xml_data).process_data()
    dataset = dataset[['IdDocumento', 'IdPalavra']]
    dataset = dataset.rename(columns={
        'IdDocumento': 'id_documento',
        'IdPalavra': 'id_palavra'
    })
    save_files(dataset, 'documentos_palavras')
    os.remove(xml_data)
Пример #28
0
def main():
    hoje = datetime.strftime(datetime.now(), '%Y-%m-%d')
    DATA_DIR = f'data_{hoje}'

    urlretrieve(url, f'{DATA_DIR}/legislacao_normas.zip')
    zip_file = ZipFile(f'{DATA_DIR}/legislacao_normas.zip', 'r')
    zip_file.extractall(f'{DATA_DIR}')
    zip_file.close()
    os.remove(f'{DATA_DIR}/legislacao_normas.zip')

    xml_data = f'{DATA_DIR}/legislacao_normas.xml'
    dataset = xml_df_internal(xml_data).process_data()
    dataset = dataset[[
        'IdNorma', 'Numero', 'Ano', 'IdTipo', 'Data', 'Situacao', 'Ementa',
        'Autores', 'CadDO', 'PagDO', 'DataDO', 'URLDO', 'URLFicha',
        'URLIntegra', 'URLCompilado', 'Promulg', 'Ambito'
    ]]
    dataset = dataset.rename(
        columns={
            'IdNorma': 'id_norma',
            'Numero': 'nr_norma',
            'Ano': 'tx_ano',
            'IdTipo': 'id_tp_norma',
            'Data': 'dt_norma',
            'Situacao': 'tx_situacao',
            'Ementa': 'tx_ementa',
            'Autores': 'tx_autores',
            'CadDO': 'nr_caderno_do',
            'PagDO': 'nr_pagina_do',
            'DataDO': 'dt_publicacao_do',
            'URLDO': 'url_do',
            'URLFicha': 'url_ficha',
            'URLIntegra': 'url_integra',
            'URLCompilado': 'url_compilado',
            'Promulg': 'tx_promulg',
            'Ambito': 'tx_ambito'
        })

    dataset['tx_ementa'] = dataset['tx_ementa'].apply(remove_break_line)

    save_files(dataset, 'legislacao_normas')
    os.remove(xml_data)