Desinformação: Lupa
收藏Zenodo2025-06-02 更新2026-05-26 收录
下载链接:
https://zenodo.org/doi/10.5281/zenodo.15579788
下载链接
链接失效反馈官方服务:
资源简介:
Descrição da arquitetura, tecnologias e passos adotados para a extração das informações do serviço de fact-checking Lupa em Python - por meio do processo de Web Scraping (extração de dados da web).
Lupa – página de listagem de checagens (/categoria/verificação) e páginas individuais de artigo; O objetivo foi coletar, para cada verificação/artigos checados, os campos:
a) URL;b) Título;c) Data;d) Assunto;e) Classificação;f) Tipo (sempre “Checagem”);g) Autor.
Os dados foram salvos em dois formatos: CSV (UTF-8) e Excel (.xlsx).
2 - Tecnologias e Stack
Camada
Ferramenta / Biblioteca
Linguagem
Python 3.10+
Automação
Selenium WebDriver 4.x
Navegador Headless
Google Chrome + ChromeDriver
Esperas
WebDriverWait + expected conditions
Manipulação CSV
módulo csv (builtin)
Planilha Excel
openpyxl
DataFrame
pandas (opcional)
Regex
re (builtin)
Pausa
time.sleep
3 - Arquitetura da Solução url_list.py
| v
Script principal do scrapingEtapa 1 - Inicia o Selenium headless ChromeEtapa 2 - Para a lista de URL (Lupa):
{ driver.get(url){ espera e extrai campos via CSS{ escreve linha em CSV/Excel
Etapa 3 - Fecha driver, salva arquivos.
4 - Fluxo de Coleta
1 - Listagem: Acessa o endpoint de categoria, clica em “Carregar mais”e faz scroll para capturar a.sc-eDWCr.hNENvd.
2 - Artigo: Para cada URL, extrai:
a) span.sc-eDvSVe.bMMjGB (assunto, classifica,c˜ao)
b) span.sc-eDvSVe.hsxZzW (t´ıtulo)
c) a.sc-csuSiG.kmJMjO (autor)
d) span.sc-eDvSVe.fJkPUE (data)
e) Tipo fixo “Checagem”.
5 - Escrita Incremental de DadosPara persistência imediata:a) CSV: abre em append e grava cada registro após scraping.b) Excel: usa openpyxl.Workbook(), ws.append(row) por item, e salva ao final.Cabeçalho comum: url, título, data, assunto, classificação, tipo, autor.
6 Exemplo de pseudocódigoimport csv, timefrom selenium import webdriver# ...with open(’dados.csv’,’w’,encoding=’utf-8’) as f: writer = csv.writer(f) writer.writerow([...]) for url in urls: driver.get(url) time.sleep(3) # extrai campos writer.writerow([url, título, data, assunto, classificação, ’Checagem’, autor]) driver.quit()
7 Boas Práticasa) Usar seletores robustos, hierarquia quando possível.b) Definir timeouts e esperas para evitar travamentos.c) Execução headless para automação sem UI.d) Gravação incremental para evitar perda de dados.
提供机构:
Zenodo
创建时间:
2025-06-02



