Parser de dados de SEO das páginasDesenvolvimento e personalização

Um parser em Python que salva os dados de SEO das páginas de um site em uma tabela: title, description, H1, status, canonical

Normalmente fica pronto em 15 minutosAjustes incluídosControle de qualidade
Pacotes
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.

Um parser em Python que salva os dados de SEO das páginas de um site em uma tabela: title, description, H1, status, canonical

Exemplo de resultado

Exemplo do pacote Padrão

Parser do catálogo de um fornecedor de ferramentas de jardinagem para o Excel

Como fica o resultado

ArtigoNomePreçoEm estoquePesoFoto
GT-1042Tesoura de poda, 20 mm18,90Sim0,24 kg…/gt-1042.jpg
GT-1187Serrote dobrável, 210 mm24,50Sim0,31 kg…/gt-1187.jpg
GT-2210Tesoura para cerca viva, lâmina ondulada39,00Não1,10 kg…/gt-2210.jpg
GT-3305Pá de jardinagem, inox9,80Sim0,18 kg…/gt-3305.jpg
GT-4120Mangueira de jardim 25 m, 1/2"42,00Sim2,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

Antes de uma migração de site ou de uma verificação de SEO, este parser percorre as páginas de um site e salva uma linha para cada uma: endereço, código de resposta, title e meta description com o tamanho, H1, número de H2, link canonical, tag noindex, número de palavras, imagens sem texto alt e número de links internos. Ele pega os endereços do arquivo de sitemap do site, das páginas de categoria ou da sua própria lista. Use no seu próprio site ou no site aberto de um concorrente. Envie o endereço do site, algumas páginas salvas no seu navegador e os campos de que você precisa. Você recebe o código em Python, um arquivo de configurações e um README e roda no seu computador. Ele coleta fatos, não corrige o site e não promete posições nos buscadores. Ele lê só páginas abertas, em um ritmo educado, e nunca faz login nem contorna captchas ou proteções. Você decide se os termos de um site permitem; uma mudança futura de layout 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.
  • Tags e o tamanho delasTitle e description com a contagem de caracteres
  • Códigos de respostaEncontre páginas quebradas e redirecionadas
  • Texto alt ausenteConta as imagens que não têm texto alt
  • Do sitemap ou da sua listaEndereços do arquivo de sitemap, de categorias ou de um arquivo que você passar
  • Ritmo educadoUma pausa entre as páginas, definida nas configurações

Como funciona

  1. 1
    SiteVocê passa o site, a origem dos endereços e as páginas salvas
  2. 2
    ParserEscrevemos o código e o guia para rodá-lo
  3. 3
    ExecuçãoVocê roda e confere algumas linhas no seu navegador
  4. 4
    AjustesVocê pede ajustes dentro do seu pacote e envia qualquer mensagem de erro

O que precisamos de você

O endereço do site e de onde o parser deve pegar os endereços: o arquivo de sitemap, as páginas de categoria ou a sua própria lista. Mais ou menos quantas páginas há. Os campos de que você precisa, ex.: endereço, código de resposta, title, description, H1, canonical, noindex, número de palavras, imagens sem alt. Duas ou três páginas de tipos diferentes salvas no seu navegador (Arquivo > Salvar página como). CSV ou Excel.

Vamos perguntar:

  • Qual site?
  • De onde pegar os endereços
  • Os campos de que você precisa
  • Mais ou menos quantas páginas?

Compare os pacotes

PacotesBásicoPáginas da sua listaR$ 117PadrãoO site inteiro a partir das listas deleR$ 229PremiumAté 3 sitesR$ 412
Prazo1 dia2 dias3 dias
Ajustes123
Sites11até 3
Tipos de página12 (lista de páginas e página)até 3
Camposaté 10até 25até 25 em cada
Percorre as páginas de uma listagemNãoSimSim
Arquivo de resultadosCSVExcel ou CSVExcel, CSV ou JSON
Duplicados removidos, retoma de onde parouNãoNãoSim
Fazer pedido BásicoFazer pedido PadrãoFazer 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.
Como funciona →

Perguntas e respostas

Isso é uma auditoria de SEO completa?

Não. Ele reúne os fatos de cada página em uma tabela; as conclusões e as correções ficam com você ou com o seu desenvolvedor.

Ele verifica as minhas posições no Google?

Não. Ele não lê Google, Amazon, LinkedIn nem redes sociais: os termos deles proíbem. As posições estão na sua conta do Search Console, em que o parser nunca entra.

Qual o tamanho de site que ele consegue percorrer?

Milhares de páginas não são problema, mas em um ritmo educado levam horas. O Premium retoma de onde parou, então uma execução longa pode ser dividida.

Ele consegue ler uma cópia de teste do meu site protegida por senha?

Não. Ele lê só páginas abertas e nunca faz login. Uma cópia de teste aberta, sem senha, funciona, e senhas nunca vão para o código.

Não encontrou a resposta?

Pacotes