Ver código
import re
import pandas as pd
from bs4 import BeautifulSoup
import requestsDa listagem pública a registros estruturados
Este notebook documenta a etapa de origem do projeto. A listagem mantida no TV Globo Wiki é lida como HTML e transformada em uma tabela com data, título e observações.
Posição no estudo: esta etapa produz datasets/whole_century.csv, usado pela curadoria e limpeza.
A coleta aponta para a página registrada no projeto. Como seletores e posições dependem da estrutura do HTML externo, uma mudança na página pode exigir revisão antes de uma nova execução.
A célula seguinte funciona como uma conferência pontual da associação entre a lista, o mês e o ano encontrados no HTML.
Para cada item, o notebook separa a data, o título e eventuais comentários entre parênteses. O resultado é convertido em um DataFrame.
for lista in filmes:
for filme in lista.find_all('li'):
ano = lista.findPreviousSibling('h2').text
# print(lista.findPreviousSibling('h3').text) # - mes
# print(filme.text)
data = filme.text[:5]
data = data.replace('/', '-')
data = f'{ano}-{data[-2:]}-{data[:-3]}' # 2000-12-31
titulo = filme.text[8:]
if '(' in titulo:
padrao = r"\((.*?)\)"
comment = re.search(padrao, titulo).group(1)
titulo = re.sub(padrao, "", titulo)
else:
comment = ''
filme_info = {
'date': data,
'title': titulo,
'comments': comment
}
lista_filmes.append(filme_info)A versão publicada usa os resultados e CSVs já versionados; ela não refaz a requisição durante o build do site. Isso evita que uma alteração temporária na fonte interrompa a publicação.