feat: Implementa pipeline de coleta e processamento de artigos da Wikipedia - #2
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Este PR implementa a base do pipeline de ingestão de dados da Wikipedia (pt) para o BrasilnaCopaAI, cobrindo coleta, limpeza e estruturação de artigos, além de documentar como operar o fluxo via CLI.
Changes:
- Adiciona módulos de ingestão (
WikipediaCollector,TextCleaner,WikipediaProcessor) e um entrypoint de CLI (app/ingestion/run.py). - Documenta a arquitetura e operação do pipeline em
docs/ingestion.mde marca a Epic 2 como concluída no backlog. - Inclui exemplos de saída gerada em
data/raw/edata/processed/.
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/ingestion.md | Documenta arquitetura/uso do pipeline de ingestão e formato de saída |
| docs/backlog.md | Atualiza checklist da Epic 2 para concluído |
| app/ingestion/run.py | CLI para executar a ingestão com páginas padrão, --force e --user-agent |
| app/ingestion/collector.py | Coleta artigos via wikipediaapi e persiste JSON bruto em data/raw/ |
| app/ingestion/cleaner.py | Limpeza/normalização de texto e remoção de seções irrelevantes |
| app/ingestion/processor.py | Orquestra coleta + limpeza e gera JSON estruturado em data/processed/ |
| data/raw/títulos_da_seleção_brasileira_de_futebol.json | Exemplo de dado bruto coletado (JSON) |
| data/raw/seleção_brasileira_de_futebol.json | Exemplo de dado bruto coletado (JSON) |
| data/raw/copa_do_mundo_fifa_de_2026.json | Exemplo de dado bruto coletado (JSON) |
| data/raw/confederação_brasileira_de_futebol.json | Exemplo de dado bruto coletado (JSON) |
| data/raw/brasil_na_copa_do_mundo_fifa.json | Exemplo de dado bruto coletado (JSON) |
| data/processed/títulos_da_seleção_brasileira_de_futebol.json | Exemplo de dado processado/limpo (JSON) |
| data/processed/seleção_brasileira_de_futebol.json | Exemplo de dado processado/limpo (JSON) |
| data/processed/copa_do_mundo_fifa_de_2026.json | Exemplo de dado processado/limpo (JSON) |
| data/processed/confederação_brasileira_de_futebol.json | Exemplo de dado processado/limpo (JSON) |
| data/processed/brasil_na_copa_do_mundo_fifa.json | Exemplo de dado processado/limpo (JSON) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+1
to
+4
| import argparse | ||
| import sys | ||
| from typing import List | ||
| from app.ingestion.processor import WikipediaProcessor |
Comment on lines
+24
to
+27
| parser = argparse.ArgumentParser( | ||
| description="Pipeline de Ingestao de Dados para o BrasilnaCopaAI. " | ||
| "Coleta, limpa e estruturaliza artigos da Wikipedia localmente." | ||
| ) |
Comment on lines
+94
to
+109
| processed_files = [] | ||
|
|
||
| # Passo 1: Coleta | ||
| print(f"🚀 Iniciando pipeline de ingestao para {len(page_titles)} paginas...") | ||
| raw_files = self.collector.fetch_multiple_pages(page_titles, force_update=force_update) | ||
|
|
||
| # Passo 2: Processamento e Limpeza | ||
| for raw_file in raw_files: | ||
| try: | ||
| processed_file = self.process_article(raw_file) | ||
| processed_files.append(processed_file) | ||
| except Exception as e: | ||
| print(f"❌ Falha ao processar arquivo {raw_file}: {str(e)}") | ||
|
|
||
| print(f"🎉 Pipeline concluido! {len(processed_files)} artigos salvos em '{self.processed_dir}'.") | ||
| return processed_files |
Comment on lines
+20
to
+27
| def __init__(self): | ||
| # Compila a regex para encontrar as secoes indesejadas (linhas com '== Nome da Secao ==', '=== Subsecao ===', etc.) | ||
| # Captura a secao e tudo o que vier depois dela ate o fim do texto | ||
| sections_pattern = "|".join(self.BLACKLISTED_SECTIONS) | ||
| self.blacklist_regex = re.compile( | ||
| rf"\n={{2,4}}\s*[^=]*({sections_pattern})[^=]*={{2,4}}.*", | ||
| re.IGNORECASE | re.DOTALL | ||
| ) |
Comment on lines
+47
to
+49
| > [!IMPORTANT] | ||
| > Para garantir que a aplicação resolva corretamente os caminhos dos pacotes internos, execute sempre os comandos a partir da raiz do repositório utilizando a flag `-m` do Python. | ||
|
|
Comment on lines
+1
to
+4
| { | ||
| "title": "Copa do Mundo FIFA de 2026", | ||
| "url": "https://pt.wikipedia.org/wiki/Copa_do_Mundo_FIFA_de_2026", | ||
| "text": "Copa (português brasileiro) ou Campeonato (português europeu) do Mundo FIFA 2026 é a vigésima terceira edição deste evento esportivo, um torneio quadrienal internacional de futebol masculino organizado pela Federação Internacional de Futebol (FIFA), acolhido em conjunto por dezesseis cidades, em três países da América do Norte: Canadá, Estados Unidos e México.\nO processo de escolha da sede deveria ter começado em 2015, com a nomeação de anfitriões previamente agendada pelo Congresso da FIFA em 10 de maio de 2017 em Kuala Lumpur, capital da Malásia. Em 10 de junho de 2015, foi anunciado que o processo tinha sido adiado num contexto de denúncias de corrupção envolvendo as edições anteriores do torneio, nomeadamente as de 2018, na Rússia, e 2022, no Catar. Em 13 de junho de 2018, durante o 68.º Congresso da FIFA, a candidatura tripla de Canadá, México e Estados Unidos foi escolhida para sediar o torneio.\nEsta edição é a primeira que conta com 48 seleções, conforme a decisão da FIFA sobre a expansão do número de seleções presentes (eram 32 seleções), tomada no dia 10 de janeiro de 2017. É a primeira vez que o Canadá recebe partidas da Copa do Mundo; os Estados Unidos já sediaram anteriormente a competição em 1994; já o México sediou a competição em 1970 e 1986. Com esta edição, o México tornou-se anfitrião do evento pela terceira vez, tornando-se o país que mais vezes recebeu a Copa do Mundo.\nOs preparativos para o torneio geraram controvérsias, principalmente devido às rígidas políticas de imigração e vistos dos Estados Unidos, que afetam as equipes classificadas e seus torcedores, à participação do Irã durante o seu conflito, ainda em curso, com os EUA e Israel, e ao uso de preços dinâmicos de ingressos pela FIFA.\n\nAntecedentes\nCandidaturas\nO Conselho da FIFA decidiu em 30 de maio de 2015 que qualquer país poderia concorrer ao processo de escolha da sede, desde que sua confederação não tenha o país que sediou a edição anterior (atualmente as duas anteriores). Por isso, apenas os membros da Confederação Asiática de Futebol (AFC) não puderam concorrer, já que a edição de 2022 ocorreu no Catar. Em outubro de 2016, o Conselho da FIFA aprovou o critério geral de aprovação, instaurando que membros associados às confederações que tenham países que sediaram as duas últimas copas ficaram inelegíveis ao processo de escolha desta edição, sendo assim, além da AFC, membros da União das Federações Europeias de Futebol (UEFA) também não poderiam se candidatar, devido a realização da edição de 2018 na Rússia. Porém, caso nenhuma proposta atingisse os níveis de satisfação exigidos pela federação, seriam aceitas propostas da federação que sediou a penúltima edição (UEFA) e, caso ainda não fossem atingidos os níveis de satisfação, seriam aceitas propostas da federação que sediou a última edição (AFC).\nAs candidaturas múltiplas também foram permitidas, mas foram avaliadas caso a caso. A secretaria-geral da FIFA, Fatma Samoura, teria o poder de excluir os candidatos que não satisfaçam os requisitos técnicos mínimos para sediar a competição. Com isso, a presente edição poderia ser sediada pelas seguintes confederações: CONCACAF (última vez em 1994), CAF (última vez em 2010), CONMEBOL (última vez em 2014) ou OFC (nunca sediou).\n\nProcesso de escolha\nO processo de escolha estava previsto para começar em 2015, com a escolha da sede prevista para o 67.º Congresso da FIFA, realizado no dia 10 de maio de 2017 em Kuala Lumpur, Malásia. Porém, foi adiado devido a escândalos de corrupção na FIFA em 2015 e a subsequente renúncia de Joseph Blatter, e retomado após reunião do Conselho da FIFA em 10 de maio de 2016, em meio a alegações de corrupção em torno de escolhas anteriores (2018 na Rússia e 2022 no Catar).\nO processo de candidatura consistiu em quatro fases: entre maio de 2016 e maio de 2017, foi realizada uma análise de possíveis candidaturas; de junho a dezembro de 2017, as candidaturas foram confirmadas e seus detalhes apresentados; entre março e junho de 2018, foi realizada a avaliação das candidaturas; e em junho de 2018, foi realizada a eleição para escolha da sede.\nEm 7 de novembro de 2017, a FIFA publicou um guia para o processo de escolha, que descreve os principais elementos após as modificações no torneio, os mecanismos de avaliação em vigor, as recomendações sobre a proteção da integridade do processo, o cronograma para a escolha, os requisitos específicos para hospedagem, uma explicação detalhada do processo, além de requisições para garantias governamentais, bem como os princípios da gestão sustentável de eventos e da proteção dos direitos humanos. A FIFA estabeleceu ainda requisitos mínimos para as capacidades dos estádios.\n\nPartidas da fase de grupos, décima-sextas de final, oitavas de final, quartas de final e partida para o terceiro lugar: mínimo de 40 mil lugares.\nSemifinais: mínimo de 60 mil lugares.\nPartida de abertura e final: mínimo de 80 mil lugares.\nO ministro marroquino da Juventude e Desportos. Moncef Belkhayat. disse ao diário francês Le Figaro: \"O Campeonato Africano das Nações de 2015 seria o primeiro indicador da nossa capacidade de sediar um grande evento. Temos confiança como candidatos a sediar a Copa do Mundo FIFA de 2026\". No entanto, em novembro de 2014, o Marrocos pediu para adiar a Copa das Nações Africanas para o verão, devido à epidemia do vírus Ebola na África Ocidental, porém perdeu seus direitos de hospedagem para a Guiné Equatorial. O Marrocos sediou ainda as edições de 2013 e 2014 da Copa do Mundo de Clubes da FIFA e o Campeonato das Nações Africanas de 2018. Em 11 de agosto de 2017, o Marrocos anunciou oficialmente a candidatura para sediar a Copa do Mundo FIFA de 2026.\n\nApós os rumores que Canadá, Estados Unidos e México fariam candidaturas separadas, as três nações anunciaram uma candidatura conjunta em 10 de abril de 2017. No entanto, Canadá e México receberiam apenas dez partidas cada, enquanto os Estados Unidos receberiam os sessenta jogos restantes, incluindo todos os jogos após as quartas de final.\nA eleição da sede da Copa do Mundo de 2026 aconteceu em 13 de junho de 2018, em Moscovo. Conforme regulamento, 203 membros do Comitê Executivo da FIFA tiveram direito a voto, sendo que uma maioria absoluta de 102 votos seria necessária para a definição do país-sede.\n\nFormato\nO então presidente da UEFA, Michel Platini, sugeriu, em janeiro de 2015, a expansão da copa para 40 seleções, uma ideia que o presidente da FIFA, Gianni Infantino, também sugeriu em março de 2016. O desejo de aumentar o número de participantes no torneio a partir do atual formato de 32 seleções foi anunciado em 4 de outubro de 2016. Foram consideradas quatro opções de expansão:\n\nExpansão para 40 seleções (8 grupos com 5 seleções) — 88 jogos\nExpansão para 40 seleções (10 grupos com 4 seleções) — 76 jogos\nExpansão para 48 seleções (Playoffs com 32 seleções) — 80 jogos\nExpansão para 48 seleções (16 grupos com 3 seleções) — 80 jogos\nExpansão Para 48 seleções (12 grupos com 4 seleções) — 104 jogos\nEm janeiro de 2017, o Conselho da FIFA votou, por unanimidade, na expansão para 48 seleções. O torneio começaria na fase de grupos consistindo em 16 grupos com 3 seleções cada, os dois melhores de cada grupo avançam para a fase final, o mata-mata, iniciando pelos Dezesseis-Avos de Final, com 32 seleções. O número de jogos aumentaria de 64 para 80, mas o número de partidas jogadas pelos finalistas continuaria sendo 7, como era anteriormente, mas um jogo da fase de grupos seria substituído por mais um jogo no mata-mata. O torneio seria realizado em 32 dias, a mesma quantidade atual.\nEm 14 de março de 2023, o Conselho da FIFA aprovou um formato revisado com 12 grupos de quatro equipes. A reconsideração resultou de preocupações sobre a possibilidade de conluio nos últimos jogos do grupo de grupos de três equipes. Sob o formato revisado, o número total de jogos disputados aumentou de 64 para 104, e o número de jogos disputados pelos semi-finalistas aumentou de sete para oito. O torneio seria concluído em 39 dias, um aumento em relação aos 32 dias dos torneios de 2014 e 2018. Cada equipe ainda jogaria três partidas do grupo, com os 8 melhores terceiros colocados se juntando aos primeiro e segundo lugar do grupo em uma nova dezesseis-avos de final.\n\nDivisão de vagas\nEm 30 de março de 2017, a secretaria do Conselho da FIFA (composto pelo presidente da FIFA e presidentes das seis confederações) propôs uma nova alocação de vagas. A recomendação foi submetida à ratificação pelo Conselho da FIFA.\nEm 9 de maio de 2017, dois dias antes do 67º Congresso da FIFA, o Conselho da FIFA aprovou a alocação de vagas em uma reunião em Manama, no Bahrein. Com isso, seria disputado ainda um play-off intercontinental envolvendo seis equipes, para decidir as duas últimas vagas para a competição.\n\nResposta\nA proposta de expansão sofreu a oposição da Associação de Clubes Europeus e os seus membros, dizendo que o número de jogos chegou a um nível inaceitável e pediram ao órgão regulador a reconsiderar sua ideia de aumento do número de equipes que se qualificam. O presidente da Liga Espanhola de Futebol Profissional, Javier Tebas, diz que o novo método empregado não é aceitável. Tebas disse ao jornal Marca que \"a indústria do futebol é mantida graças aos clubes e as ligas, não graças à FIFA\" e que \"Infantino faz política\" porque \"para eleger ele prometeu mais países na Copa do Mundo, ele quer cumprir as promessas eleições\". O treinador da seleção alemã, Joachim Löw, alertou que a expansão, tal como ocorreu na Euro 2016, diluirá o valor do torneio mundial, pois os jogadores já atingiram seus limites físico e mental. Outra crítica é em relação ao formato com 3 seleções por grupo, o risco de conluio entre as duas equipes que jogarão na última rodada aumentará em relação ao atual formato com 4 seleções por grupo (onde as duas últimas partidas são jogadas simultaneamente). Uma sugestão do presidente, Infantino, é que os jogos da fase de grupos que terminem empatados sejam decididos por pênaltis. Abordando as preocupações relacionadas ao conluio, o vice-presidente da FIFA e presidente da CONCACAF, Victor Montagliani, comentou em abril de 2022 que a FIFA ainda estava considerando doze grupos de quatro ou dois conjuntos de seis grupos de quatro, os quais eliminariam totalmente a conspiração.\n\nSedes\nDurante o processo de candidatura, 41 cidades, com 42 estádios existentes e em funcionamento (com exceção de Montreal), além de dois estádios em construção, em Las Vegas e Los Angeles, apresentaram propostas para integrar a candidatura, sendo três estádios em três cidades do México, seis estádios em seis cidades do Canadá e 35 estádios em 32 cidades dos Estados Unidos.\nEm 16 de junho de 2022, as dezesseis cidades-sede (duas no Canadá, três no México e onze nos Estados Unidos) foram anunciadas pela FIFA: Atlanta, Boston, Dallas, Guadalajara, Houston, Kansas City, Los Angeles, Cidade do México, Miami, Monterrey, Nova Iorque/Nova Jersey, Filadélfia, Baía de São Francisco, Seattle, Toronto e Vancouver. Oito dos dezesseis estádios escolhidos possuem grama artificial, que deverão ser substituídas por grama natural sob a orientação da FIFA e de uma equipe de pesquisa da Universidade do Tennessee e da Universidade Estadual de Michigan. Dependendo do clima do local, o gramado utilizado será uma mistura híbrida de 84% de bluegrass do Kentucky e 16% de azevém-perene, para temperaturas mais frias, ou grama-bermuda, para temperaturas mais quentes.\nOs estádios de Atlanta, Dallas, Houston e Vancouver utilizam sistemas de teto retrátil, e todos são equipados com controle climático. A sede da partida final, o MetLife Stadium, em East Rutherford, Nova Jersey, foi anunciada pela FIFA em 4 de fevereiro de 2024.\nEmbora existam estádios específicos para futebol no Canadá e nos Estados Unidos, o maior estádio dedicado exclusivamente ao futebol nos Estados Unidos, o Geodis Park, em Nashville, Tennessee, tem capacidade para 30 mil espectadores, abaixo do mínimo de 40 mil exigido pela FIFA. O BMO Field, em Toronto, foi ampliado de 30 mil para 45,5 mil lugares. Estádios como o Mercedes-Benz Stadium, em Atlanta, o Gillette Stadium, em Foxborough, e o Lumen Field, em Seattle, são utilizados por equipes da National Football League (NFL) e da Major League Soccer (MLS). Embora sejam usados principalmente para o futebol americano, com os estádios estadunidenses sediando equipes da NFL e os canadenses recebendo equipes da Canadian Football League (CFL), todos os estádios canadenses e estadunidenses já foram utilizados em diversas ocasiões para partidas de futebol e também foram projetados para sediar esse esporte.\nA Cidade do México é a única capital dos três países-sede escolhida como local de jogos, enquanto Ottawa e Washington, D.C., juntam-se a Bonn, na Alemanha Ocidental em 1974, e Tóquio, no Japão em 2002, como as únicas capitais que não foram selecionadas para sediar partidas da Copa do Mundo. Washington foi candidata a cidade-sede, mas, devido a problemas estrutuais no Northwest Stadium, uniu sua candidatura à da vizinha Baltimore, que também não foi escolhida. O estádio candidato de Ottawa, o TD Place Stadium, foi eliminado ainda nas fases iniciais por capacidade insuficiente. Embora oito das áreas metropolitanas que sediarão jogos já tenham recebido partidas de Copas do Mundo (Dallas, Los Angeles, Área da Baía de São Francisco, Nova Iorque/Nova Jersey e Boston em 1994; Guadalajara e Cidade do México em 1970 e 1986; e Monterrey em 1986), o Estádio Azteca é o único estádio desta edição que já sediou partidas de Copa do Mundo, tendo recebido jogos em 1970 e 1986. Nenhum dos estádios utilizados na Copa do Mundo FIFA de 1994 será usado neste torneio. O Soldier Field, em Chicago, o Cotton Bowl, em Dallas, e o Rose Bowl, em Pasadena, foram os únicos estádios do processo de candidatura que sediaram jogos em 1994, mas nenhum deles foi selecionado.\nDevido às regras da FIFA sobre patrocínios de estádios, os locais utilizarão nomes alternativos durante o torneio, apresentados abaixo entre parênteses. A capacidade tem como base as informações publicadas pela FIFA.\n\nNotas† refere-se à estádios já utilizados em edições anteriores do torneio masculino.\n‡ refere-se à estádios com teto retrátil ou controle de temperatura.\n\nEliminatórias\nA United Bid antecipou que todos os três países anfitriões receberiam vagas automáticas. Em 31 de agosto de 2022, durante uma visita à Guatemala, o presidente da FIFA, Gianni Infantino, confirmou que seis times da CONCACAF se classificariam para a Copa do Mundo, incluindo Canadá, México e Estados Unidos como anfitriões. Isso foi confirmado pelo Conselho da FIFA em 14 de fevereiro de 2023.\n\nAlocação de slots\nEm 30 de março de 2017, o Bureau do Conselho da FIFA (composto pelo presidente da FIFA e pelos presidentes de cada uma das seis confederações) propôs uma alocação de vagas para a Copa do Mundo FIFA de 2026. A recomendação foi submetida à ratificação do Conselho da FIFA.\nEm 9 de maio, dois dias antes do 67.º Congresso da FIFA, o Conselho da FIFA aprovou a alocação de vagas em reunião em Manama, no Bahrein. Inclui um torneio de playoff intercontinental envolvendo seis times para decidir as duas últimas vagas na Copa do Mundo da FIFA, tornando-se uma vaga de 1 ⁄ 3 nas finais para uma vaga na repescagem intercontinental.\n\nTorneio de playoff\nUm torneio de playoff envolvendo seis times foi realizado para decidir as duas últimas vagas para a Copa do Mundo da FIFA, composto por um time por confederação (exceto para a UEFA) e um time adicional da confederação dos países-sede (CONCACAF).\nDuas das equipes serão classificadas com base no Ranking Mundial Masculino da FIFA; as equipes classificadas disputaram uma vaga na Copa do Mundo da FIFA contra os vencedores das duas primeiras eliminatórias envolvendo as quatro equipes não classificadas.\nO torneio foi disputado no México, sendo usado como um evento-teste para a Copa do Mundo da FIFA. Os playoffs ocorreram em março de 2026.\n\nA ratificação da alocação de vagas dá à OFC uma vaga garantida na fase final pela primeira vez na história da Copa do Mundo da FIFA. A Copa do Mundo FIFA de 2026 será o primeiro torneio em que todas as seis confederações têm vagas garantidas. Esta também será a primeira vez desde o edição de 2010 em que todos os continentes têm uma seleção classificada para a competição final.\n\nSeleções qualificadas\nDe todas as 48 equipes que se classificaram, 26 também haviam aparecido na edição anterior, em 2022, mesma edição que contou com as ausências de Colômbia, Egito, Panamá e Suécia, que voltam ao torneio após o hiato, visto que estiveram pela última vez em 2018. Argélia e Costa do Marfim retornam após sua última aparição, em 2014. Enquanto isso África do Sul, Nova Zelândia, Paraguai retornam depois de terem aparecido pela última vez em 2010. A Tchéquia retorna após sua aparição em 2006 e a Turquia após 2002. Áustria, Escócia e Noruega retornam após suas últimas aparições em 1998 e o Iraque após 1986. Por fim, após, 52 anos, o Haiti e a RD Congo voltam a disputar um mundial, sendo que ambos tiveram sua última e única aparição na edição de 1974.\nAdemais, Cabo Verde, Curaçao, Jordânia e Uzbequistão farão suas estreias na Copa do Mundo. O país africano torna-se somente o quarto lusófono a participar do torneio, após Brasil, Portugal e Angola. O estreante caribenho será a primeira federação de um país não soberano (com exceção das seleções britânicas) a jogar a Copa do Mundo, desde as Índias Orientais Neerlandesas (atualmente Indonésia), em 1938. O país do Oriente Médio é mais uma seleção árabe a participar do torneio, sendo a décima seleção desse grupo a estrear no campeonato mundial. O país centro-asiático torna-se a segunda ex-república soviética a participar da Copa do Mundo, visto que a Ucrânia foi a primeira, em sua uníca participação em 2006.\nOutrossim, ausências notáveis incluem o Chile — vencedor da Copa América 2015 e 2016 — e a Itália — tetracampeã do torneio, campeã em 1934, 1938, 1982 e 2006, e vencedora da Euro 2020 — que ficam de fora da sua terceira Copa do Mundo consecutiva; além de seleções que participaram frequentemente nas últimas Copas, como Camarões, Costa Rica, Dinamarca, Nigéria, Polônia e Sérvia.\n\nSorteio final\nO sorteio aconteceu em 5 de dezembro de 2025 às 14h (UTC−5), no Kennedy Center em Washington, D.C. Os quatro vencedores dos playoffs da UEFA e os dois vencedores da repescagem intercontinental não se conheciam no momento do sorteio, pois essas partidas ocorreram em março de 2026.\nAs 48 equipes foram divididas em quatro potes de 12. O Pote 1 foram compostos pelos três anfitriões e pelas nove melhores equipes do ranking mundial da FIFA de novembro de 2025, excluindo os anfitriões. Os Potes 2, 3 e 4 foram compostos pelas equipes restantes, conforme o ranking. Os 12 grupos foram formados aleatoriamente, selecionando-se uma equipe de cada um dos quatro potes. Com exceção da UEFA, que pode ter até duas equipes no mesmo grupo, duas equipes da mesma confederação não podem ser colocadas no mesmo grupo.\nAs três nações anfitriãs foram pré-alocadas em três grupos para fins de programação. O México foi colocado no Grupo A e jogará a partida de abertura do torneio no Estádio Azteca em 11 de junho. O Canadá e os Estados Unidos foram colocados nos Grupos B e D, respectivamente. Eles jogarão a terceira e a quarta partidas do torneio, respectivamente, ambas em 12 de junho.\n\nConvocações\nAs seleções qualificadas para a copa de 2026 poderiam convocar até 26 jogadores para a disputa do torneio. As equipes foram obrigadas a divulgar a lista final até 2 de junho. Se um jogador lesionar ou adoecer a ponto de não poder participar do torneio, poderá ser substituído por outro atleta da lista provisória em até 24 horas antes do primeiro jogo da equipe, a exceção do guarda-redes/goleiro lesionado, que poderá ser trocado por outro da lista a qualquer momento da competição.\nA primeira seleção a divulgar a sua lista foi a Bósnia, no dia 11 de maio. Nas seleções da lusofonia, a Seleção do Brasil fez a sua convocação em 18 de maio, a de Portugal fez a sua em 19 de maio, e a estreante Cabo Verde indicou os seus nomes em 18 de maio.\n\nArbitragem\nEm 9 de abril de 2026, a FIFA anunciou a lista de 52 árbitros e 88 árbitros assistentes e 30 árbitro assistente de vídeo para o torneio.\n\nCerimônia de abertura\nNessa edição, ocorreram três cerimônias de abertura diferentes, uma para cada país sede. A primeira aconteceu em 11 de junho, no Estádio Azteca, antes da partida inaugural entre México e África do Sul, com shows da banda de rock mexicana Maná, dos cantores mexicanos Alejandro Fernández e Belinda, dos colombianos J Balvin, Ryan Castro e Shakira, do venezuelano Danny Ocean, da banda de cúmbia mexicana Los Ángeles Azules e da cantora sul-africana Tyla, que cantou o hino de seu país antes da partida deste contra o anfitrião México. Foi a terceira vez em que o estádio recebe a abertura, depois de 1970 e 1986. Alem disso, houve a cerimônia do Canadá, realizada em 12 de junho no BMO Field (Toronto) com os cantores canadenses Michael Bublé, Alanis Morissette, Alessia Cara, Jessie Reyez, Nora Fatehi e William Prince, com a presença também da palestina Ellyana e do bengali Sanjoy, e no mesmo dia, a estadunidense, realizada no pré-jogo de EUA e Paraguai, no SoFi Stadium (Los Angeles) que contou com apresentações dos estadunidenses Katy Perry e Future, da tailandesa Lisa (integrante do Blackpink) e da brasileira Anitta.\n\nCanções\nAbertura mexicana\n\"Oye Mi Amor\" – Maná\n\"Partidazo\" – Danny Ocean\n\"Por Ella\" – Los Ángeles Azules e Belinda\n\"Que Calor\" / \"Una a la Vez\" / \"I Like It\" – J Balvin e Ryan Castro\n\"Dai Dai\" – Shakira e Burna Boy\n\"DNA (More Than a Game)\" – Andrea Bocelli e Ejae\n\"Hino nacional da África do Sul\" – Tyla\n\"Himno Nacional Mexicano\" – Alejandro Fernández\nAbertura canadense\n\"Wild Things\" / \"Fire\" – Alessia Cara\n\"Siir Siir\" – Nora Fatehi, Vegedream e Sanjoy\n\"Illuminate\" – Jessie Reyez e Elyanna\n\"Bring It On Home to Me\" – Michael Bublé e The Sole Power Choir\n\"O Canada\"– Alanis Morissette\n\"Intermeco\" (instrumental no violino) – Aleksandar Gajić\nAbertura estadunidense\n\"Game Time\" – Future e Tyla\n\"Goals\" – Lisa, Anitta e Rema\n\"Wonder\" – Katy Perry e Tius Luka\n\"The Star-Spangled Banner\" – Dan + Shay\n\"Paraguayos, República o Muerte\" – Purahéi Soul\n\nFase de grupos\nAntes do sorteio final, estádios foram designados a grupos específicos. Depois do sorteio final, os confrontos foram definidos para partidas específicas, e os horários dos jogos foram confirmados.\nTodos os horários são locais.\n\nGrupo A\nGrupo B\nGrupo C\nGrupo D\nGrupo E\nGrupo F\nGrupo G\nGrupo H\nGrupo I\nGrupo J\nGrupo K\nGrupo L\nMelhores terceiras classificadas\nAs melhores oito seleções terceiro colocadas nos grupos também avançam aos dezesseis avos de final.\n\nOs confrontos específicos envolvendo as seleções que terminaram em terceiro lugar dependem de quais oito equipes classificadas em terceiro lugar avançarão para a fase de 16 avos de final. As 495 combinações possíveis foram publicadas no Anexo C do regulamento do torneio.\n\nFase final\nChaveamento\nDezesseis avos de final\nOitavas de Final\nQuartas de final\nSemifinal\nDisputa pelo terceiro lugar\nFinal\nEstatísticas\nArtilharia\n6 gols (2)\nARG Lionel Messi\nFRA Kylian Mbappé\n5 gols (2)\n\n4 gols (3)\n\n3 gols (12)\n\n2 gols (25)\n\n1 gol (109)\n\nGols contra (12)\n\nClassificação final\nA classificação final é determinada através da fase em que a seleção alcançou e a sua pontuação, levando em conta os critérios de desempate.\n\nPremiações\nPara essa edição, o ganhador receberá um total US$ 727 milhões em premiação, a maior da história da Copa do Mundo e sendo 50% superior ao da edição anterior. O campeão será contemplado com US$ 50 milhões pelo título, o vice e o terceiro colocado com US$ 29 milhões cada. As demais equipes recebem entre US$ 9 a 27 milhões dependendo da classificação. Os qualificados recebem US$ 10 milhões pela participação e US$ 1,5 milhão pelo custo de preparação.\nClubes que cederam jogadores para a Copa receberão cinco mil dólares diários da FIFA. O Flamengo receberá a maior quantia entre clubes sul-americanos pelos nove jogadores cedidos a competição.\n\nControvérsias\nEntre os temas discutidos estiveram mudanças no formato da competição, políticas migratórias, restrições de entrada em território estadunidense e a participação de determinadas seleções. Esses episódios geraram repercussão na imprensa e motivaram manifestações de autoridades, entidades esportivas e organizações da sociedade civil ao longo do período de preparação e realização do torneio. Temas como direitos humanos, questões climáticas, o \"jogo do orgulho\" entre Irã e Egito, ameaças de boicote por parte da Alemanha e o banimento do árbitro somálio Omar Artan também entraram em pauta antes e durante a Copa.\n\nPublicidade\nLogotipo\nA logo oficial da Copa do Mundo FIFA de 2026 foi apresentada em um evento no Observatório Griffith, em Los Angeles, no dia 17 de maio de 2023, contando com a presença do presidente da FIFA, Gianni Infantino, e do ex-jogador brasileiro, Ronaldo Nazário. Pela primeira vez, o troféu da Copa do Mundo aparece em evidência através da sua forma tradicional e à cores e não como uma representação abstrata, como acontecia em anos anteriores, junto com o número 26 em vertical. Segundo a entidade, a marca \"permite a personalização para refletir a singularidade de cada anfitrião, ao mesmo tempo em que constrói uma estrutura de marca identificável para os próximos anos.\"\n\nMascotes\nOs mascotes oficiais foram apresentados em 24 de setembro de 2025 pelas redes sociais da FIFA, sendo chamados de Maple, Zayu e Clutch, mas tendo apenas os nomes divulgados ao público. A revelação oficial deles aconteceu no dia seguinte (25). Maple é um alce, Zayu é um jaguar e Clutch é uma águia americana, representando o Canadá, o México e os Estados Unidos, respectivamente. Eles foram projetados para refletir a herança cultural de seus respectivos países.\n\nBola\nA bola oficial foi apresentada em 2 de outubro de 2025, sendo nomeada de Adidas Trionda. O design apresenta vermelho, verde e azul (as três cores que representam Canadá, México e Estados Unidos, respectivamente, e também presentes nas bandeiras dos países anfitriões), bem como uma onda branca conectando cada uma das cores, daí o nome usando as palavras espanholas para três (tri) e onda (onda). O design também apresenta os símbolos nacionais dos três países anfitriões (uma folha de bordo para o Canadá, uma águia dourada para o México e uma estrela de cinco pontas para os Estados Unidos).\n\nMúsica\nEm 17 de maio de 2023, a música tema oficial do torneio foi lançada, uma faixa instrumental simplesmente intitulada \"Fifa World Cup 26 Theme Song\". Em março de 2025, dezesseis remixes do tema foram lançados, apresentando artistas de cada cidade-sede dando seu toque local à música. Os remixadores de cada cidade foram:\n\nAtlanta – Dallas Austin\nBoston – Ben Zakharenko, Dayvin, Berklee College of Music\nDallas – Tre Nagella\nGuadalajara – Bautista\nHouston – Bombón\nKansas City – Tecnologia N9ne\nLos Angeles – DJ Flict\nCidade do México – Instituto Mexicano do Som\nMiami – Sr. NaisGai\nMonterrey – Toy Selectah\nNova York/Nova Jersey – Take a Daytrip\nFiladélfia – DJ Jazzy Jeff\nÁrea da Baía de São Francisco – Dan, o Automator\nSeattle – Sango\nToronto – Colina Kourkoutis\nVancouver – Grayson Repp\nEm 20 de março de 2026, o álbum de trilha sonora do torneio foi lançada com o primeiro single: \"Lighter\" do Jelly Roll e Carín Leon e produzida pelo Cirkut. Em 17 de abril, foi lançado o segundo single do álbum de trilha sonora da copa: \"Por Ella\", dos Los Ángeles Azules e Belinda, produzida pelo Tainy. Em 27 de abril, foi lançado o terceiro single do álbum de trilha sonora da copa: \"Echo\", do Daddy Yankee e Shenseea, produzida pelo Tainy, o mesmo compositor do segundo single. Em 14 de maio de 2026, depois de 12 anos, Shakira lançou uma nova música para a copa que é o quinto single do álbum de trilha sonora da copa chamada \"Dai Dai\" junto com o nigeriano Burna Boy. Em 8 de maio de 2026, foi lançado o quarto single do álbum da copa chamado \"Illuminate\", gravado por Jessie Reyez e Elyanna e produzida pelo Cirkut, o mesmo compositor do \"Lighter\". em 21 de maio, foi lançado o sexto single do álbum de trilha sonora chamada \"Goals\" com a cantora brasileira Anitta, Lisa do Blackpink e o cantor nigeriano Rema\n\nPôster\nEm 3 de março de 2026, foi lançado o pôster oficial da copa e foi assinada pelos artistas Carson Ting (Canadá), Minerva GM (México) e Hank Willis Thomas (EUA). A obra celebra o ineditismo de uma copa sediada em 3 países, e foi lançado quando faltavam 100 dias para o início da Copa.\n\nÁlbum de Figurinhas\nNo começo de maio, a Panini lançou o álbum oficial da copa, o maior álbum da história, com cerca de 980 cromos, incluindo 68 especiais e álbuns nas versões capa dura, brochura e edições especiais. Essa coleção tornou-se a penúltima da impressa italiana, visto que, a partir de 2030, a Fanatics, via Topps, tomará conta do projeto.\n\nApoiadora regional\nEm maio de 2026, a FIFA anunciou a empresa de apostas Betano como apoiadora oficial da Copa do Mundo para as regiões da Europa e da América do Sul. A empresa já havia tido acordos semelhantes com a entidade na Copa do Mundo de 2022 e na Copa do Mundo de Clubes de 2025.\n\nDireitos de transmissão\nEm 12 de fevereiro de 2015, a FIFA renovou o contrato de direitos de transmissão da Fox, Telemundo e Bell Media para cobrir o mundial de 2026, sem aceitar outras ofertas nos Estados Unidos. O New York Times acredita que essa extensão foi planejada como compensação pelo reagendamento da Copa do Mundo de 2022 para novembro-dezembro, em vez de sua programação tradicional de junho-julho, pois cria conflitos consideráveis com as principais ligas esportivas profissionais que normalmente estão de folga durante a Copa do Mundo.\n\nNo Brasil\nEm 19 de novembro de 2022, faltando um dia para o início da Copa no Catar, o Grupo Globo renovou o contrato com a FIFA para a cobertura de eventos de base e profissionais, o que inclui a Copa do Mundo de Futebol Feminino de 2023 e a Copa de 2026 para o Brasil. No entanto, ao contrário dos mundiais de 2018 e 2022, o novo acordo não previa exclusividade total em todas as mídias. Durante um evento à imprensa em 11 de julho de 2023, a Globo anunciou que cobriria apenas 52 dos 104 jogos da Copa do Mundo de 2026, adotando um novo modelo usado a partir da Copa Feminina de 2023, onde anunciou a transmissão de 34 partidas em todas as suas mídias, transmitindo apenas sete em TV aberta, ao invés das 64 realizadas. A mudança marca a quebra de uma tradição adotada a partir da Copa do Mundo FIFA de 2002, quando a Globo transmitia todas as rodadas do evento nas suas plataformas. Posteriormente, esse número seria aumentado para 55 jogos, podendo subir para 56 em caso do Brasil disputar o terceiro lugar. Em 9 de abril de 2024, a LiveMode adquiriu todos os 104 jogos da Copa do Mundo, mas dividindo-os em dois pacotes para as partes interessadas. O pacote com todos os jogos foi adquirido em 13 de julho de 2025 pela CazéTV para transmissão gratuita no YouTube pela segunda edição consecutiva. Apesar da parceria com a LiveMode, o torneio foi adquirido sem a parceria da empresa.\nUma das partes interessadas em ter a metade livre pela Globo acabou sendo a Record, que havia iniciado em janeiro de 2025 um estudo de viabilidade para adquirir a outra metade da Copa do Mundo, o que marcaria o retorno da emissora nessa transmissão esportiva desde 1998. A emissora deu início as primeiras negociações em junho, mas garantindo a segurança de transmitir, junto com a Globo, os jogos do Brasil. Os direitos de transmissão desta edição da Copa do Mundo foram avaliados em R$ 200 milhões, sendo um dos mais caros na atualidade, o que acabou afastando o interesse de outros grupos. A LiveMode chegou a oferecer a segunda metade da Copa para a Record, SBT e até mesmo para a própria Globo, que possui uma parte dos jogos, o que inclui as partidas da seleção canarinho. O SBT também demonstrou interesse em ter as transmissões da Copa. De início, um temor da direção do canal em não apresentar resultados positivos acabou fazendo a emissora recuar. Posteriormente, a emissora acabaria voltando a mostrar interesse, deixando a decisão final nas mãos de Daniela Beyruti, CEO da estação. Em 10 de setembro de 2025 o SBT acabou fechando com a LiveMode a compra do pacote 2 da Copa, fazendo revezamento de transmissão com a Globo, marcando o retorno da emissora paulista ao evento desde 1998. A aquisição foi feita através de um acordo de parceria com a N Sports. Além disso, o SBT e a N Sports dobraram o valor da Copa oferecido pela Record, que acabou desistindo pelos altos custos e por não concordar em dividir a cobertura dos mesmos jogos com a Globo.\nMas, apesar do acerto pelo consórcio SBT-N Sports com a LiveMode quanto a aquisição da Copa, que também previa as transmissões em simulcast entre a TV aberta (SBT) e nas mídias pagas, além do streaming (N Sports), o entrave enfrentado que impedia o anúncio oficial e a assinatura do contrato seria o pacote de 32 jogos oferecidos pela LiveMode, 20 a menos que o anunciado, que eram de 52 jogos, porém, seriam uma parte de jogos iguais aos transmitidos pela Globo, o que não foi aceito pelo consórcio que insistia por um pacote diferenciado, mas que tivesse os jogos da seleção brasileira, além da grande final. Todavia, os trâmites acabariam sendo resolvidos com o consórcio adquirindo o pacote dos 32 jogos, já que o valor pela outra metade com exclusividade foi considerado elevado para o padrão dos dois canais, restando apenas a redução avaliada em US$ 25 milhões (R$ 134,5 milhões na cotação atual), com boa parte sendo bancada pelo SBT que pagou a primeira parcela, cabendo apenas a autorização da FIFA para fazer o anúncio oficial, o que acabaria acontecendo no dia 31 de outubro de 2025.\nNo dia 8 de janeiro de 2026, a Globo anunciou que seu recente canal, a Ge TV, faria a transmissão de 32 jogos, mas que não contemplaria o YouTube, já que a Google revendeu os direitos do pacote completo para a CazéTV. A cobertura se faria na televisão por assinatura e nos serviços via FAST. Outros grupos como a Bandeirantes, Itatiaia e a Jovem Pan adquiriram os direitos de transmissão via áudio para as suas respectivas rádios.\n\nEm Portugal\nNo dia 5 de dezembro de 2025, a LiveMode, proprietária do canal brasileiro CazéTV, anunciou a aquisição de 34 jogos da Copa via internet para Portugal, criando assim o serviço de streaming exclusivo LiveMode TV para o país. Já os direitos totais foram adquiridos pelo canal por assinatura Sport TV, passando a ter 70 jogos exclusivos do campeonato. Em 25 de maio de 2026, um consórcio formado pela SIC, TVI, RTP e Rádio Renascença, adquiriu o direito de transmitir 20 jogos cada uma em televisão aberta e via rádio.\n\nNa Argentina\nNo dia 28 de agosto de 2025, o governo argentino informou que adquiriu o pacote de 10 jogos da Copa do Mundo para transmissão na Televisión Pública, mas focando somente na seleção argentina, jogos de maior impacto e nas finais. Em 30 de setembro de 2025, a Telefe anunciou a aquisição de 32 jogos ao vivo em TV aberta, marcando a sua volta à cobertura do torneio desde 2010. Na mídia fechada, o Waiken ILW, holding do Grupo Werthein, havia adquirido o pacote com todos os 104 jogos da Copa para transmissão na DSports. Com a crise da Torneos y Competencias, a TyC Sports acabaria ficando de fora das transmissões por não ter comprado os direitos de cobertura. Mas, em 29 de maio de 2026, com a aquisição de 50% da TyC Sports pela Waiken ILW por US$ 25 milhões – que antes pertenciam ao Grupo Clarín – a TyC Sports seria confirmada na cobertura, tendo direito a transmitir 52 jogos da competição.\n\nVer também\nEsporte nos Estados Unidos\nEsporte no México\nCopa do Mundo FIFA\nCopa do Mundo FIFA de 1970\nCopa do Mundo FIFA de 1986\nCopa do Mundo FIFA de 1994\nCopa do Mundo FIFA de 2022\nEliminatórias da Copa do Mundo FIFA de 2026\nMundial de Clubes FIFA de 2025\nJogos Olímpicos de Verão de 2028\nCiclo do Brasil na Copa do Mundo FIFA de 2026\n\nNotas e referências\nNotas\nReferências\nLigações externas\n«Página oficial» (em inglês)", |
Comment on lines
+26
to
+32
| def _sanitize_filename(self, title: str) -> str: | ||
| """Sanitiza o titulo do artigo para ser usado como nome de arquivo.""" | ||
| # Remove caracteres nao alfanumericos ou espacos | ||
| sanitized = re.sub(r'[^\w\s-]', '', title) | ||
| # Substitui espacos e hifens por underscores | ||
| sanitized = re.sub(r'[\s-]+', '_', sanitized) | ||
| return sanitized.lower().strip() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Este Pull Request conclui a Epic 2 — Ingestão de Dados do backlog, realizando o merge da branch
feature/data-collectionparadevelop.Introduz um pipeline modular e extensível para coleta, limpeza e processamento de artigos da Wikipedia relacionados à Seleção Brasileira e à Copa do Mundo FIFA. O pipeline está organizado em três componentes principais: coleta de dados, limpeza de texto e orquestração do processamento, além de disponibilizar uma interface de linha de comando para facilitar sua execução.
Implementação do pipeline
WikipediaCollectorpara realizar a coleta automática de artigos da Wikipedia em português, salvando-os como arquivos JSON brutos, com sanitização dos nomes dos arquivos e suporte à coleta em lote (app/ingestion/collector.py).TextCleanerpara limpar e normalizar os textos dos artigos, removendo seções irrelevantes (como referências e links externos), metadados desnecessários e padronizando espaços em branco para as próximas etapas do pipeline (app/ingestion/cleaner.py).WikipediaProcessorpara orquestrar todo o fluxo de ingestão, desde a coleta até a limpeza e persistência dos documentos processados, incluindo metadados que serão utilizados futuramente na indexação semântica (app/ingestion/processor.py).Interface de linha de comando
run.py, que disponibiliza uma CLI para execução do pipeline, permitindo informar títulos específicos de artigos, forçar atualizações dos dados e definir um User-Agent personalizado. Quando nenhum artigo é informado, é utilizada uma lista padrão de artigos relevantes (app/ingestion/run.py).Epic atendida
Epic 2 — Ingestão de Dados
Responsável pela criação da base documental a partir da Wikipedia.
Feature 2.1 — Coleta dos Dados
data/raw/Feature 2.2 — Limpeza dos Dados
Feature 2.3 — Estruturação
data/processed/✅ Definition of Done