Ver também outras organizações dos dados na pasta organised
Eis os totais por partido e por rede social/wikipedia:
Este projeto recolhe e estrutra dados sobre os deputados eleitos nas legislativas de 30 de janeiro de 2022. Também indexa todas as páginas de membros atuais e passados do parlamento, recolhidos do parlamento.pt. A informação sobre páginas de wikipedia, facebook, twitter e instagram foram feitas manualmente para complementar os dados. Por parte do processo ter sido manual, erros e lacunas são expectáveis, mesmo com o tempo, e agradeço contributos e correções, basta editar o ficheiro redes.json.
- ir a legislativas2022.mai.gov.pt/candidatos?elected=1
- usar o código javascript abaixo na consola
- guardar o JSON resultante na consola
- repetir os 2 passos anteriores para as restantes páginas
- o resultado das 3 páginas está em downloaded
- (há alguns dados duplicados sobre os partidos, mas em quantidade insignificante e que não estará assim no resultado final)
let pageData = Array.from(document.querySelectorAll(".territoryName")).map(t=>{
let territory = t.innerText;
let results = Array.from(t.nextSibling.querySelectorAll(".candidates")).map(p=>{
let logo = p.querySelector("img").src;
let name = p.querySelector(".party").innerText;
let elected = Array.from(p.querySelectorAll(".row.mb-1 .d-inline")).map(e=> e.innerText.split(".")[1].trimStart());
return {logo, name, elected}
})
return{territory, results};
});
console.log(JSON.stringify(pageData));
Usei o pipenv para gerir os módulos de python usados de forma replicável, basta instalar e correr pipenv install
para instalar, e depois pipenv shell
para entrar no ambiente pronto a correr.
Basta executar python parlamento.pt.py <id-inicial>
(com pipenv shell
ativada) para atualizar a lista de deputados. Se não especificates <id-inicial>
é usado o máximo dos ids já recolhidos, mas como a lista não é crescente de forma congruente pode ser necessário recomeçar do 0 em alguns casos. Nota: se quiseres contribuir para o projeto, um bom desafio é paralelizar os pedidos ao site do parlamento.pt para demorar menos tempo, atualmente deve demorar uns 30min sem paralelização.
Basta correr python organise.py
(com pipenv shell
ativada)