Pagamento protegidoDetalhes
- Os ajustes previstos no pacote são gratuitos.
- Se você não responder em 3 dias após a entrega, o trabalho é aprovado automaticamente.
O dinheiro fica reservado no pagamento e só é liberado quando você aprova o trabalho.

Exemplo de resultado
Parser do catálogo de um fornecedor de ferramentas de jardinagem para o Excel
Como fica o resultado
| Artigo | Nome | Preço | Em estoque | Peso | Foto |
|---|---|---|---|---|---|
| GT-1042 | Tesoura de poda, 20 mm | 18,90 | Sim | 0,24 kg | …/gt-1042.jpg |
| GT-1187 | Serrote dobrável, 210 mm | 24,50 | Sim | 0,31 kg | …/gt-1187.jpg |
| GT-2210 | Tesoura para cerca viva, lâmina ondulada | 39,00 | Não | 1,10 kg | …/gt-2210.jpg |
| GT-3305 | Pá de jardinagem, inox | 9,80 | Sim | 0,18 kg | …/gt-3305.jpg |
| GT-4120 | Mangueira de jardim 25 m, 1/2" | 42,00 | Sim | 2,90 kg | …/gt-4120.jpg |
O arquivo do exemplo tem 1.236 produtos de 52 páginas de lista.
Um trecho do código
def product_links(list_url: str) -> Iterator[str]:
"""Links das páginas de produto de todas as páginas da lista, seguindo o botão 'Próxima'."""
url: str | None = list_url
while url:
page = fetch(url)
for card in page.select("div.product-card a.title"):
yield urljoin(url, card["href"])
next_link = page.select_one("a.pagination-next")
url = urljoin(url, next_link["href"]) if next_link else None
def fetch(url: str) -> BeautifulSoup:
"""Uma página aberta, em um ritmo educado: uma pausa entre as requisições e algumas tentativas em caso de erro."""
for attempt in range(3):
time.sleep(settings.delay_seconds)
response = session.get(url, timeout=30)
if response.status_code == 200:
return BeautifulSoup(response.text, "html.parser")
log.warning("%s respondeu %s, tentativa %d de 3", url, response.status_code, attempt + 1)
raise ScraperError(f"{url} não abriu depois de 3 tentativas")
Arquivos: um arquivo ZIP com scraper.py, settings.ini (a página inicial, a pausa entre as requisições, o nome do arquivo), requirements.txt e um README sobre como instalar e rodar. Ele lê só páginas abertas, uma a cada 2 segundos, e confere antes o robots.txt do site. O cliente roda o parser no próprio computador.
Cliente: uma loja online de jardinagem que revende as ferramentas de um fornecedor; o fornecedor tem um catálogo aberto no site, mas nenhum arquivo de tabela de preços. Tarefa: percorrer as páginas de lista do catálogo, abrir cada página de produto e salvar no Excel o código do artigo, o nome, o preço, o estoque, o peso e o link da foto principal, para comparar os preços uma vez por semana.
O cliente e todos os dados são fictícios.
Sobre este serviço
Fornecedores que participam de licitações usam este parser para ver os editais abertos em uma tabela: número do edital, objeto, órgão comprador, região, modalidade, valor estimado e moeda, data de publicação, prazo, situação e link. Faça uma busca no portal de compras com as suas palavras-chave ou códigos e envie esse link, uma página de edital e uma ou duas páginas salvas no seu navegador. Você recebe o código em Python, um arquivo de configurações e um README e roda no seu computador toda manhã ou quando precisar. Pessoas de contato ficam de fora: nada de nomes, e-mails ou telefones. Ele não faz login, não baixa documentos atrás de uma conta, não contorna captchas nem proteções e não envia propostas, e mantém um ritmo educado. Você decide se os termos do portal permitem; uma mudança futura no layout dele exige uma atualização.
O que está incluído
- O que você recebeUm arquivo ZIP com o código em Python, um arquivo de configurações e um README com instruções passo a passo; o código também aparece na página do pedido.
- Prazos que você pode ordenarDatas em um só formato, prontas para ordenar por prazo
- Valor estimado como númeroCom a moeda em uma coluna própria
- Suas palavras-chaveComeça pela busca que você monta no portal
- Sem pessoas de contatoSó o órgão comprador, sem nomes nem telefones
- Ritmo educadoUma pausa entre as páginas, definida nas configurações
Como funciona
- 1BuscaVocê monta a busca e envia o link e um edital salvo
- 2ParserEscrevemos o código e o guia para rodá-lo
- 3ExecuçãoVocê roda e confere os editais de hoje com o portal
- 4AjustesVocê pede ajustes dentro do seu pacote e envia qualquer mensagem de erro
O que precisamos de você
O portal de compras e um link para uma busca com as suas palavras-chave, códigos ou regiões, uma página de edital e mais ou menos quantos editais a busca mostra. Os campos na ordem da sua tabela, ex.: número, objeto, órgão, região, valor estimado, moeda, publicação, prazo, link. Uma ou duas dessas páginas salvas no seu navegador (Arquivo > Salvar página como) ou capturas de tela. CSV ou Excel.
Vamos perguntar:
- Qual portal e qual busca?
- Palavras-chave, códigos ou regiões
- Os campos de que você precisa
- Com que frequência você vai rodá-lo?
Compare os pacotes
| Pacotes | BásicoEditais a partir dos seus linksR$ 117 | PadrãoSua busca, todos os editaisR$ 234 | PremiumAté 3 portaisR$ 418 |
|---|---|---|---|
| Prazo | 1 dia | 2 dias | 3 dias |
| Ajustes | 1 | 2 | 3 |
| Sites | 1 | 1 | até 3 |
| Tipos de página | 1 | 2 (resultados de busca e edital) | até 3 |
| Campos | até 10 | até 25 | até 25 em cada |
| Percorre as páginas de uma listagem | Não | Sim | Sim |
| Arquivo de resultados | CSV | Excel ou CSV | Excel, CSV ou JSON |
| Duplicados removidos, retoma de onde parou | Não | Não | Sim |
| Fazer pedido Básico | Fazer pedido Padrão | Fazer pedido Premium |
Pagamento protegido
Você paga ao fazer o pedido, mas o dinheiro só é liberado pelo trabalho aprovado.
- Preço fixoO preço do pacote não muda depois que você paga.
- O dinheiro fica reservadoAo pagar, o valor fica apenas reservado. Ele só é repassado quando você aprova o trabalho.
- Verificado antes da entregaCada resultado passa por um controle de qualidade antes de chegar até você, e você o vê na página do pedido antes de aprovar.
- Ajustes gratuitosPeça ajustes dentro do seu briefing quantas vezes o pacote permitir.
- Aprovação após 3 diasSe em 3 dias após a entrega você não aprovar o trabalho nem pedir ajustes, ele é aprovado automaticamente. Se você escrever no chat do pedido após a entrega, o pedido fica em espera; depois que respondermos, podemos reiniciar a contagem de 3 dias e avisaremos no chat.
- Refazer ou reembolso totalSe o resultado não corresponder ao seu briefing e os ajustes não resolverem, ou se o trabalho levar mais que o dobro do prazo, escreva no chat do pedido: refazemos o trabalho ou reembolsamos o pagamento integralmente.
Perguntas e respostas
Ele pode enviar propostas ou baixar os documentos da licitação?
Não. Ele só lê páginas abertas e salva o link de cada edital. Documentos atrás de uma conta, assinaturas e propostas ficam com você.
O portal tem uma exportação oficial?
Muitos portais de compras públicas publicam dados abertos ou exportações. Se o seu tiver, isso pode atender você melhor, e avisamos quando olharmos as suas páginas.
Ele vai encontrar todas as licitações para mim?
Ele coleta o que a sua busca no portal mostra. Palavras-chave melhores dão uma lista mais completa; não prometemos uma lista completa nem vitória em nenhuma licitação.
Ele lê portais atrás de login ou captcha?
Não. Ele nunca faz login nem contorna captchas ou proteções. Ele também não lê Google, Amazon, LinkedIn nem redes sociais. Para outros portais, você decide se os termos deles permitem.
Não encontrou a resposta?