Web Scraping

Requisições HTTP e parsing de HTML com BeautifulSoup/lxml

HTTP GET

scraping.http_get

Faz requisição GET e retorna HTML

Como usar

Baixa o HTML de um endereço sem abrir navegador, bem mais rápido. Funciona em páginas que já vêm prontas do servidor; se o conteúdo é montado por JavaScript, use o Navegador Web. Pode usar uma sessão (cookies e cabeçalhos) criada por Definir Sessão.

Exemplo: Faça GET em https://www.exemplo.com.br/cotacoes guardando o HTML em {html}.

Campos

CampoTipoPadrãoDetalhes
URL *Texto
Sessão (opcional)Variável
Parâmetros da URLPares chave e valor
Salvar resultado na variável *Variável de saídahtml
+ Avançado (4)
CampoTipoPadrãoDetalhes
Cabeçalhos (headers)Pares chave e valor
Tempo limite (0 = sem limite)Número30 s
Falhar com erro HTTP (4xx/5xx)Sim/NãoSim
Salvar o status HTTP na variávelVariável de saída

Resultado: guardado na variável html (Texto).

Analisar HTML

scraping.parse_html

Parseia HTML com BeautifulSoup

Como usar

Transforma um HTML (texto) numa página analisável para as buscas por CSS e XPath. Os comandos de busca também aceitam o HTML direto; analise antes quando for fazer várias buscas na mesma página.

Exemplo: Analise {html} guardando em {pagina} e faça as buscas a partir dela.

Campos

CampoTipoPadrãoDetalhes
HTML *TextoEx.: {html}
Salvar a página na variável *Variável de saídapage

Resultado: guardado na variável page (Objeto).

Buscar Elementos (CSS)

scraping.find_css

Busca por seletor CSS

Como usar

Busca elementos por seletor CSS numa página, num HTML ou dentro de elementos já encontrados. Devolve uma lista (ou só o primeiro, se marcado) para extrair texto, atributos ou fazer novas buscas.

Exemplo: Busque "div.produto" em {pagina} e guarde em {produtos}.

Campos

CampoTipoPadrãoDetalhes
Página, HTML ou elementos *TextoResultado de HTTP GET, Analisar HTML ou Buscar ElementosEx.: {pagina}
Seletor CSS *TextoEx.: table.precos tr
Só o primeiroSim/NãoNão
Salvar resultado na variável *Variável de saídaelements

Resultado: guardado na variável elements (Qualquer).

Buscar Elementos (XPath)

scraping.find_xpath

Busca por XPath (lxml)

Como usar

Busca elementos por XPath, útil quando o CSS não alcança, como localizar pelo texto ou subir para o elemento pai. Devolve lista ou só o primeiro.

Exemplo: Busque //td[text()='Total']/following-sibling::td em {pagina} para achar o valor ao lado de "Total".

Campos

CampoTipoPadrãoDetalhes
Página, HTML ou elementos *TextoResultado de HTTP GET, Analisar HTML ou Buscar ElementosEx.: {pagina}
XPath *TextoEx.: //div[@class='preco']/text()
Só o primeiroSim/NãoNão
Salvar resultado na variável *Variável de saídaelements

Resultado: guardado na variável elements (Qualquer).

Extrair Texto

scraping.extract_text

Extrai texto de elementos

Como usar

Extrai o texto de um elemento ou de uma lista de elementos (devolve texto ou lista de textos), juntando os textos internos com o separador e removendo espaços extras.

Exemplo: Extraia o texto de {produtos} em {nomes_produtos}.

Campos

CampoTipoPadrãoDetalhes
Elementos *TextoEx.: {elementos}
Salvar resultado na variável *Variável de saídatexts
+ Avançado (2)
CampoTipoPadrãoDetalhes
Separador entre textos internosTexto
Remover espaços extrasSim/NãoSim

Resultado: guardado na variável texts (Qualquer).

Extrair Atributo

scraping.extract_attribute

Extrai atributo de elementos

Como usar

Lê um atributo (href, src, data-id...) de um elemento ou de uma lista. Com URL base, links relativos viram endereços completos.

Exemplo: Extraia o atributo src das imagens em {imagens}, com URL base https://loja.exemplo.com.

Campos

CampoTipoPadrãoDetalhes
Elementos *TextoEx.: {elementos}
Atributo *TextoEx.: href
Salvar resultado na variável *Variável de saídavalues
+ Avançado (1)
CampoTipoPadrãoDetalhes
URL base para links relativosTexto

Resultado: guardado na variável values (Qualquer).

Extrair Tabela

scraping.extract_table

Extrai tabela HTML para lista/DataFrame

Como usar

Lê uma tabela HTML pela posição (1 = a primeira) ou por seletor CSS. Em "records" devolve uma lista de linhas como dicionários (cabeçalho → valor); em "rows", lista de listas.

Exemplo: Extraia a tabela 1 de {pagina} em {cotacoes} e percorra com Para Cada lendo {item.Moeda} e {item.Valor}.

Campos

CampoTipoPadrãoDetalhes
Página, HTML ou elementos *TextoResultado de HTTP GET, Analisar HTML ou Buscar ElementosEx.: {pagina}
Tabela (1 = a primeira, ou seletor CSS)Texto1
Primeira linha é o cabeçalhoSim/NãoSim
FormatoOpçãoLista de dicionários (pelo cabeçalho)Opções: Lista de dicionários (pelo cabeçalho), Lista de linhas
Salvar resultado na variável *Variável de saídatable_dataUse Criar DataFrame para virar tabela

Resultado: guardado na variável table_data (Lista).

Baixar Arquivo

scraping.download_file

Faz download de um recurso (imagem, PDF, etc.)

Como usar

Baixa um arquivo (PDF, imagem, planilha) por HTTP, sem navegador, para uma pasta ou caminho. Use a sessão quando o arquivo exige login.

Exemplo: Baixe cada link de {links_pdf} para C:\Robos\boletos.

Campos

CampoTipoPadrãoDetalhes
URL *Texto
Salvar em (pasta ou arquivo) *Pasta
Sessão (opcional)Variável
Salvar o caminho na variávelVariável de saída
+ Avançado (2)
CampoTipoPadrãoDetalhes
Substituir se existirSim/NãoSim
Tempo limite (0 = sem limite)Número120 s

Resultado: guardado na variável escolhida (Texto).

Definir Headers

scraping.set_headers

Define headers HTTP customizados

Como usar

Acrescenta cabeçalhos HTTP a uma sessão de scraping, como User-Agent, Accept-Language ou um token, para as próximas requisições.

Exemplo: Defina User-Agent e Accept-Language: pt-BR na sessão {session}.

Campos

CampoTipoPadrãoDetalhes
Sessão *Variávelsession
Cabeçalhos (headers) *Pares chave e valor

Definir Sessão

scraping.set_session

Cria sessão com cookies persistentes

Como usar

Cria uma sessão que guarda cookies entre as requisições (para sites com login), com URL base, cabeçalhos, tempo limite e verificação de certificado. Passe a sessão para os comandos HTTP GET e Baixar Arquivo.

Exemplo: Crie {session} com URL base https://portal.exemplo.com e use-a no GET da página de login e das páginas seguintes.

Campos

CampoTipoPadrãoDetalhes
URL base (opcional)TextoEx.: https://www.site.com.br
Cabeçalhos (headers)Pares chave e valor
Salvar a sessão na variável *Variável de saídasession
+ Avançado (3)
CampoTipoPadrãoDetalhes
Verificar o certificado SSLSim/NãoSim
Tempo limite (0 = sem limite)Número30 s
Seguir redirecionamentosSim/NãoSim

Resultado: guardado na variável session (Objeto).