DesenvolvimentoPagamento 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
Este parser lê as páginas públicas de produtos de um concorrente e coloca os preços em uma tabela que você pode comparar com os seus: nome do produto, código, preço, preço antigo, desconto, disponibilidade e link, com a data da verificação. Passe o site, links para uma categoria e para uma página de produto, os campos na ordem da sua tabela e uma ou duas dessas páginas salvas no seu navegador. Escrevemos o código em Python pela estrutura real delas, com um arquivo de configurações e um README. Você roda no seu computador sempre que quiser preços atualizados, e a tabela chega direto para você. Ele lê só páginas abertas, em um ritmo educado, e nunca faz login, não contorna captchas nem proteções e não coleta dados pessoais. Você decide se os termos do site permitem, e 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.
- Colunas de preçoPreço, preço antigo e desconto como números separados
- Códigos para cruzarO código ou o código de barras do concorrente, quando a página mostra
- Data de cada verificaçãoCada linha traz a data em que foi coletada
- Ritmo educadoUma pausa entre as páginas, que você define
- Roda no seu computadorWindows, macOS ou Linux; rode de novo para ter preços atualizados
Como funciona
- 1PáginasVocê passa o site do concorrente, uma categoria e uma página de produto salva
- 2ParserEscrevemos o código a partir dessas páginas e o guia para rodá-lo
- 3ExecuçãoVocê roda e compara as primeiras linhas com o site
- 4AjustesVocê pede ajustes dentro do seu pacote e envia qualquer mensagem de erro
O que precisamos de você
O site do concorrente e as páginas exatas: um link para uma categoria e para uma página de produto, e mais ou menos quantos produtos há. Os campos de que você precisa na ordem da sua tabela, ex.: nome, código, preço, preço antigo, disponibilidade, link. Uma ou duas dessas páginas salvas no seu navegador em HTML (Arquivo > Salvar página como) ou capturas de tela. CSV ou Excel, e onde você vai rodá-lo.
Vamos perguntar:
- Qual site do concorrente e quais páginas?
- Os campos de que você precisa
- Mais ou menos quantos produtos?
- Com que frequência você vai rodá-lo?
Compare os pacotes
| Pacotes | BásicoPreços das páginas de produtosR$ 117 | PadrãoUma categoria inteiraR$ 234 | PremiumAté 3 concorrentesR$ 418 |
|---|---|---|---|
| Prazo | 1 dia | 2 dias | 3 dias |
| Ajustes | 1 | 2 | 3 |
| Sites | 1 | 1 | até 3 |
| Tipos de página | 1 | 2 (categoria e produto) | 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 vai cruzar os produtos do concorrente com os meus?
Ele salva o código, o código de barras e o nome do concorrente como a página mostra, para você cruzar com a sua lista no Excel. Se os códigos forem diferentes dos seus, o cruzamento fica por sua conta: não adivinhamos quais produtos são iguais.
Ele vê preços para clientes logados ou atacadistas?
Não. Ele lê os preços que uma página aberta mostra a qualquer visitante. Preços atrás de uma conta, de um login de atacado ou de um captcha ficam fora de alcance.
É permitido coletar os preços de um concorrente?
Coletar preços públicos é permitido em muitos casos, mas os termos dos sites e as leis de dados variam de país para país, então você decide se pode coletá-los e usá-los. O parser nunca faz login, não contorna proteções e não coleta dados pessoais.
Ele pode coletar preços da Amazon, do Google ou de lojas dentro de redes sociais?
Não. Os termos deles proíbem, e o mesmo vale para o LinkedIn e outras redes sociais. Para esses dados, use a exportação oficial ou a API do serviço.
E se o concorrente mudar o site?
O parser segue as páginas como elas são hoje. Depois de uma mudança de layout, ele precisa de uma atualização, que é um novo pedido. Se o site limitar as visitas, o parser não contorna isso.
Não encontrou a resposta?


