Extraindo dados HTML com Python

Aprenda duas maneiras de raspar dados de páginas HTML usando Python. Neste tutorial, veremos como os pacotes ‘requests-html’ e ‘Pandas’ podem te auxiliar na extração de dados de páginas na web.

Embora já existam bastante dados disponíveis em formato aberto para serem analisados, ainda surgem momentos em que você precisa fazer uma análise e os dados não estão disponíveis para download em uma tabela toda arrumadinha. Nessas horas, saber uma linguagem de programação pode ser a sua melhor aliada para conseguir “libertar” esses dados. 

Este tutorial tem como objetivo ensinar a extrair conteúdo de sites, tomando como exemplo a extração de dados sobre a agenda do governador do Rio de Janeiro e a lista de parlamentares eleitos de Pernambuco.

ACESSE O NOTEBOOK COM ESSE TUTORIAL VIA GOOGLE COLAB OU GITHUB

Na primeira parte você aprenderá a usar o pacote requests-html para fazer essa extração, a partir das tags HTML e seletores CSS. Já na segunda parte, você fará o processo de extração de uma maneira mais simples, utilizando o método read_html do Pandas, que é uma “mão na roda” quando os dados já estão organizados como uma tabela HTML. 

Se você não sabe nada (ou não lembra bem) como funciona o Python e/ou a biblioteca Pandas, aconselhamos que você comece primeiro por aqui e depois volte para esse tutorial.

O notebook cobre os seguintes assuntos:

  • O que é web scraping?
  • Estrutura de uma página web
    • HTML
    • CSS
  • Pacote requests-html
    • Instalando a biblioteca
    • Conectando com a URL
  • Extraindo dados da agenda do governador do Rio de Janeiro
    • Organizando os dados em um Data Frame
  • Raspando dados com Pandas
  • Lendo a tabela de dados de parlamentares de Pernambuco

O tutorial foi elaborado a partir do curso Python para Inovação Cívica, construído com o apoio da Python Software Foundation e da Jusbrasil, e baseado no módulo facilitado por Gabriela Cavalcante. O texto e o código foram adaptados por Anicely Santos, Adriano Belisario e Giulio Carvalho.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.