Web Scraping – O que é e como usar com Python e Javascript

Introdução

Hoje, os dados são o combustível de muitas aplicações. Mas nem sempre esses dados estão disponíveis em APIs. Muitas vezes, estão em sites públicos, visíveis apenas no navegador. Nesses casos, o Web Scraping é a solução.

Neste artigo você vai aprender:

  • O que é Web Scraping

  • Exemplos práticos com Python e JavaScript

  • Quando e onde usar essa técnica

  • Ferramentas recomendadas

  • Onde hospedar seu scraper gratuitamente


O que é Web Scraping?

Web Scraping é o processo de automatizar a coleta de dados de sites. Ele simula a navegação de um usuário para acessar e extrair informações diretamente do HTML das páginas permitindo buscar informações em campos específicos na página e manter os dados sempre atualizados.

Isso é útil para:

  • Coletar preços de produtos

  • Capturar notícias e artigos

  • Monitorar redes sociais ou fóruns

  • Alimentar bases de dados e dashboards


Exemplo de Web Scraping com Python (BeautifulSoup)

Vamos capturar os títulos de notícias do site G1.

Instalação:

pip install requests beautifulsoup4

Código em Python:

import requests
from bs4 import BeautifulSoup

url = ‘https://g1.globo.com/’
response = requests.get(url)
soup = BeautifulSoup(response.text, ‘html.parser’)

titulos = soup.find_all(‘a’, class_=’feed-post-link’)

for titulo in titulos:
print(titulo.get_text())

Onde hospedar esse script gratuitamente:

  • Replit  — permite rodar scripts Python na nuvem.

  • Render — suporta agendamento de tarefas (cron jobs).

  • GitHub + Actions — você pode agendar execuções automáticas via GitHub Actions.

  • PythonAnywhere  — plano gratuito ideal para scripts simples.


Exemplo de Web Scraping com JavaScript (Node.js + Axios + Cheerio)

Se você prefere JavaScript, veja como fazer a mesma coisa com Node.js.

Instalação:

npm install axios cheerio

Código em JavaScript:

const axios = require('axios');
const cheerio = require('cheerio');

const url = ‘https://g1.globo.com/’;

axios.get(url)
.then(response => {
const $ = cheerio.load(response.data);
const titulos = [];

$(‘a.feed-post-link’).each((i, element) => {
titulos.push($(element).text());
});

console.log(‘Títulos encontrados:’);
console.log(titulos);
})
.catch(error => console.error(‘Erro:’, error));

Onde hospedar esse scraper com JavaScript:

  • Glitch  — ideal para projetos pequenos com Node.js.

  • Replit — também suporta projetos Node.js.

  • Vercel — funciona bem com funções serverless.

  • Railway  — ótima opção para scripts Node.js com agendamento.


Atenção: Legalidade e Ética

Antes de fazer scraping em qualquer site, considere:

  • Consulte o arquivo /robots.txt do site para saber se o scraping é permitido
  • Leia os Termos de Uso
  • Evite scraping de dados privados, pessoais ou protegidos
  • Use delays e evite sobrecarregar servidores

Sempre que possível, use APIs oficiais. Scraping deve ser a última alternativa.


Ferramentas populares para Web Scraping

Python

  • requests + BeautifulSoup: simples e direto

  • Selenium: ótimo para páginas com JavaScript dinâmico

  • Scrapy: framework robusto para scraping em larga escala

  • Playwright: alternativa moderna ao Selenium

JavaScript

  • axios + cheerio: equivalente a requests + BeautifulSoup

  • Puppeteer: automação com o Chrome

  • Playwright: também funciona em Node.js


Salvando os dados

Python — salvar em CSV:

import csv

with open(‘noticias.csv’, ‘w’, newline=”, encoding=’utf-8′) as arquivo:
writer = csv.writer(arquivo)
writer.writerow([‘Título’])

for titulo in titulos:
writer.writerow([titulo.get_text()])

JavaScript — salvar em arquivo JSON:

const fs = require('fs');
fs.writeFileSync('noticias.json', JSON.stringify(titulos, null, 2), 'utf-8');


Agendamento automático

Quer rodar seu scraper diariamente?

  • GitHub Actions: você pode agendar execuções com cron jobs.

  • Render ou Railway: suportam execução agendada.

  • PythonAnywhere: permite criar tarefas agendadas no plano gratuito.


Conclusão

O Web Scraping é uma ferramenta essencial para desenvolvedores e cientistas de dados. Ele pode transformar sites em fontes estruturadas de dados, automatizando processos manuais e gerando insights valiosos.

Mas lembre-se: use com responsabilidade. Sempre verifique a legalidade e o impacto do seu scraper nos sites que pretende acessar.

Últimos Artigos

Deixe sua dúvida ou opinião

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Post anterior
Próximo post

Copyright © 2025 - Pablo Vinícius