quer ajudar? Aqui estão suas opções:","Crunchbase","Sobre nós","Obrigado a todos pelo incrível apoio!","Links rápidos","Programa de afiliados","Premium","ProxyScrape teste premium","Verificador on-line Proxy","Proxy tipos","Proxy países","Proxy casos de uso","Importante","Cookie política","Isenção de responsabilidade","Política de privacidade","Termos e condições","Mídia social","Facebook","LinkedIn","Twitter","Quora","Telegrama","Discórdia","\n © Copyright 2025 - Thib BV | Brugstraat 18 | 2812 Mechelen | Bélgica | VAT BE 0749 716 760\n"]}
A Web scraping tornou-se uma habilidade vital para desenvolvedores Python, analistas de dados e qualquer pessoa que trabalhe com conjuntos de dados. Quando se trata de dados estruturados e ricos, as tabelas encontradas em sites geralmente são minas de ouro de informações. Se estiver vasculhando a Web em busca de catálogos de produtos, estatísticas esportivas ou dados financeiros, a capacidade de extrair e salvar dados de tabelas usando Python é uma ferramenta inestimável.
Este guia prático leva você passo a passo pelo processo de scraping tabelas de sites usando Python. Ao final, você saberá como usar bibliotecas populares, como requests, Beautiful Soup e até mesmo pandas, para acessar dados de tabelas e armazená-los em formatos reutilizáveis, como arquivos CSV.
Antes de entrarmos nos detalhes técnicos, veja o que você precisará para acompanhar o processo:
Usaremos o comando pip para instalar as bibliotecas necessárias. Basta executar o seguinte comando em seu terminal para concluir a instalação:
pip install requests beautifulsoup4 pandas
A primeira etapa de qualquer projeto scraping da Web é analisar a estrutura do site de destino. Neste exemplo, vamos acessar scraping dados de um site de amostra que apresenta uma tabela com a classificação dos times de hóquei. Abaixo está uma prévia da tabela:
Veja como essa tabela aparece na estrutura HTML.
A primeira etapa é buscar a página da Web que você deseja acessar scrape. Usaremos a biblioteca requests para enviar uma solicitação HTTP e recuperar o conteúdo HTML do site fictício que estamos usando para obter o conteúdo da tabela
url = "https://www.scrapethissite.com/pages/forms/"
response = requests.get(url)
if response.status_code == 200:
print("Page fetched successfully!")
html_content = response.text
else:
print(f"Failed to fetch the page. Status code: {response.status_code}")
exit()
Em HTML, uma tabela é uma forma estruturada de apresentar dados em linhas e colunas, como em uma planilha eletrônica. As tabelas são criadas usando a tag <table>
e seu conteúdo é dividido em linhas (<tr>
) e células (<td>
para células de dados ou <th>
para células de cabeçalho). Aqui está um resumo rápido de como funciona a estrutura de uma tabela:
<table>
ela atua como o contêiner de todas as linhas e células.<tr>
(linha da tabela) representa uma fatia horizontal da tabela.<td>
contêm valores de dados individuais (ou <th>
para cabeçalhos). Por exemplo, neste script, localizamos o <table>
com uma classe específica (class="table"
) e extrair suas linhas e células usando Bela sopa. Isso nos permite extrair os dados sistematicamente e prepará-los para análise ou salvamento.
soup = BeautifulSoup(html_content, "html.parser")
table = soup.find("table", {"class": "table"})
if not table:
print("No table found on the page!")
exit()
Nesta etapa, salvaremos os dados extraídos da tabela em um arquivo CSV para uso futuro e também os exibiremos como um DataFrame do pandas para que você possa ver como os dados estão estruturados. Salvar os dados como um CSV permite que você os analise posteriormente em ferramentas como Excel, Google Sheets ou o próprio Python.
headers = [header.text.strip() for header in table.find_all("th")]
rows = []
for row in table.find_all("tr", class_="team"):
cells = [cell.text.strip() for cell in row.find_all("td")]
rows.append(cells)
df = pd.DataFrame(rows, columns=headers)
csv_filename = "scraped_table_data_pandas.csv"
df.to_csv(csv_filename, index=False, encoding="utf-8")
print(f"Data saved to {csv_filename}")
Quando você executar esse código, o pandas criará um arquivo chamado dados_da_tabela_raspada.csv
no seu diretório de trabalho, e os dados extraídos serão impressos no console da seguinte forma:
Nome da equipe Ano Vitórias Perdas Derrotas OT Vitórias % Gols a favor (GF) Gols contra (GA) + / -
0 Boston Bruins 1990 44 24 0,55 299 264 35
1 Buffalo Sabres 1990 31 30 0,388 292 278 14
2 Calgary Flames 1990 46 26 0,575 344 263 81
3 Chicago Blackhawks 1990 49 23 0,613 284 211 73
4 Detroit Red Wings 1990 34 38 0,425 273 298 -25
Abaixo está o script Python completo para scraping dados de tabela de um site, salvando-os em um arquivo CSV e exibindo os dados extraídos. Esse script combina todas as etapas abordadas neste guia em um único fluxo de trabalho coeso.
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.scrapethissite.com/pages/forms/"
response = requests.get(url)
if response.status_code == 200:
print("Page fetched successfully!")
html_content = response.text
else:
print(f"Failed to fetch the page. Status code: {response.status_code}")
exit()
soup = BeautifulSoup(html_content, "html.parser")
table = soup.find("table", {"class": "table"})
if not table:
print("No table found on the page!")
exit()
headers = [header.text.strip() for header in table.find_all("th")]
rows = []
for row in table.find_all("tr", class_="team"):
cells = [cell.text.strip() for cell in row.find_all("td")]
rows.append(cells)
df = pd.DataFrame(rows, columns=headers)
csv_filename = "scraped_table_data_pandas.csv"
df.to_csv(csv_filename, index=False, encoding="utf-8")
print(df.head())
print(f"Data saved to {csv_filename}")
Este guia o guiou pelo processo passo a passo: compreender a estrutura do site, extrair os dados e salvá-los para análise. Se você estiver criando conjuntos de dados para pesquisa, automatizando a coleta de dados ou simplesmente explorando as possibilidades da Web scraping, o domínio dessas técnicas abre um mundo de oportunidades.
Ao acessar scraping, você pode encontrar desafios como proibições de IP ou limites de taxa impostos pelos sites. É nesse ponto que o proxies se torna crucial. O Proxies permite que você:
ProxyScrape oferece uma ampla gama de proxies, incluindo proxies residencial, premium, dedicada e móvel, adaptada para a Web scraping. Suas soluções proxy confiáveis e dimensionáveis podem ajudá-lo a lidar com projetos scraping de grande escala sem interrupções, garantindo uma coleta de dados tranquila e eficiente.