Web Scraping: Como encontrar insights valiosos analisando os números de qualquer blog

Saiba o que é Web Scraping e veja um tutorial de como aplicar a técnica de forma simples

Thiago Rocha
Thiago Rocha20 de agosto de 2018
Marketing Day 2024: Inscreva-se!

Web Scraping é uma técnica utilizada para extrair rapidamente informações de sites e exportá-las para planilhas com o intuito de fazer análises e gerar insights para tomadas de decisão.


Desde o Day-1, o principal canal de aquisição de Leads da RD e, consequentemente, de clientes foi a produção de conteúdo. Isso fez com que a empresa tivesse uma base relevantes de visitantes e Leads para a geração de negócios além de outras vantagens no médio/longo prazo.

Um dos canais que a RD investiu para gerar tráfego e Leads foi o blog. Durante esses 8 anos (o blog começou anos antes do próprio RD Station Marketing ser lançado), houveram uma série de aprendizados para que o blog tivesse uma alta qualidade. Além da qualidade e cadência necessária para a construção de uma máquina de conteúdos, um outro aprendizado muito valioso foi a necessidade de entender os resultados que os conteúdos estavam trazendo para o negócio através das métricas.

Há algumas métricas clássicas para blog que já foi publicada no blog da RD como pageviews, tráfego por canal,  taxa de rejeição, etc. Esse post tem como objetivo mostrar como podemos analisar qualquer blog e gerar insights para o seu blog crescer através de uma técnica chamada Web Scraping.

Web Scraping: o que é

Possivelmente você já precisou acessar vários sites, extrair as informações deles e jogar em uma planilha para fazer alguma análise. Isso fez com que você gastasse várias horas no clássico CTRL C + CTRL V somente para consolidar as informações e outras várias horas para fazer alguma análise. Usando a técnica de Web Scraping, você poderia economizar 90% do seu tempo na consolidação das informações e gastá-las na geração de insights que geram valor para o seu negócio.

O nome Web Scraping é sempre relacionado a robôs (bots) automatizados  e terminologias de programação parecendo ser algo muito complexo de ser trabalhado por analistas ou profissionais de marketing.

Dessa forma, eu descobri apps que nos ajudam a fazer Web Scraping de forma fácil podendo ser aplicado no contexto do Marketing. Nessa apresentação, eu dou mais detalhes dessa técnica e algumas aplicações.

Analisando o blog da Resultados Digitais

Você já percebeu como algumas postagens do seu blog geram grandes resultados enquanto outras fracassam?

Embora os resultados de algumas práticas dependam muito das características do seu blog e da sua audiência, pequenas alterações podem fazer os resultados aumentarem drasticamente, tais como melhor forma de escrever um título, tamanho de texto, horário da publicação, etc. Além disso, em vez de você depender de recomendações e estatísticas gerais, você pode analisar o seu blog e comparar com blogs de destaque do mesmo segmento (nacionais ou estrangeiros).

Para fazer esse tipo de análise é necessário três passos:

  • Fazer Web Scraping do blog que você deseja analisar
  • Buscar estatísticas das redes sociais através do OpenRefine
  • Consolidar essas informações no Excel e buscar correlações interessantes que ajudarão você fazer o seu blog crescer mais rapidamente

Passo 1: Web Scraping do blog que você deseja analisar

Apesar de Web Scraping parecer algo que somente hackers da deep web conseguem fazer, ela pode ser muito mais fácil que você imagina. Há várias aplicações "point and click" que tiram as necessidade do conhecimento em programação.

A minha preferida é o Webscraper.io e eu uso para quase todas as aplicações de scraping que necessito. A grande vantagem é ela ser totalmente visual e não ter a necessidade de escrever uma linha de código. Outras ferramentas famosas são: Import.io, DataMiner.io e o Mozenda.

Para instalar o app, basta você acessar o site do Webscraper.io  e clicar no botão de adicionar a extensão para o Google Chrome.

webscraping pSrMerPOdi

Uma vez instalada o WebScaper, podemos ir para a página do blog da Resultados Digitais. Ao navegar pela página do blog, podemos ver que os posts estão separados em páginas e em cada página contém 10 posts.

Pela página principal do blog, a gente consegue capturar algumas informações como: Título, Data, Autor, URL e Subtítulo. Além disso, é possível extrair o tempo de leitura, o post e o número de comentários caso o robô acesse cada post.

Observe que a URL do site vai mudando de acordo com cada página que você navega seguindo o padrão: https://resultadosdigitais.com.br/blog/page/#NumeroDaPagina

Uma vez observada essas principais características, chegou a hora de criar o robô que irá extrair as informações do blog da RD.

webscraping fa5u5GhTOY

Criando o sitemap

Com o webscraper, você só precisa realizar algumas configurações dizendo quais informações você gostaria de extrair criando os seletores.

Com o auxílio do marcador visual, você deve selecionar cada post seguindo os passos de acordo com o gif abaixo:

webscraping wzEyvq76kf

Selecionando a área de cada post

Uma vez definido a área que compõe cada informação de um post, clique no id “posts” para adicionarmos os seletores de título, autor, data e url.

webscraping pFmfSQ5fq5

Selecionando os primeiros elementos

Agora vamos pegar as informações dentro de cada post como por exemplo: subtítulo, tempo de leitura e o texto.

Clique no id “url” e entre em qualquer post para identificar as informações que serão extraídas.

webscraping YXn6R8KTVo

Selecionando os últimos elementos

Se você clicar em Sitemap Scrap_resultados_digitais → Selector Graph, você vai entender como o robô está programado para extrair as informações. 

webscraping LWHSSqD0Dt

Para fazer o primeiro teste e garantir que as configurações foram feitas exatamente como a gente desejou, você pode clicar em Sitemap Scrap_resultados_digitais → Edit metadata e alterar o Start URL para: https://resultadosdigitais.com.br/blog/page/1

Dessa forma, iremos scrapear somente a primeira página do blog. Para isso, você precisa clicar em Scrape e depois em Start Scrape.

webscraping DTvTEmFl6j

Um pop-up irá se abrir, e o robô irá começar a extrair as informações conforme a configuração feita previamente.

Depois de aparecer um pop-up falando que a execução se encerrou, você pode clicar em Export Data as CSV para já termos a primeira parte para análise. Com o teste validado, você pode ir novamente no Edit metadata e alterar o Start URL para https://resultadosdigitais.com.br/blog/page/[1-127]

Como o blog da RD é muito grande, vai demorar certo tempo para extrair informações de todos os mais de 1200 posts.

Passo 2: Coletando métricas das redes sociais

Agora temos uma lista contendo várias informações de todos os posts da RD. Antes de começarmos a analisar, precisamos adicionar as estatísticas das redes sociais de cada postagem.

Você pode usar o programa OpenRefine para facilmente (e livremente) puxar todas as estatísticas das redes sociais de cada um dos posts e te economizar uma semana de trabalho extra.

  • Para Mac: Baixe o aplicativo OpenRefine, arraste o ícone para sua pasta Aplicativos e clique duas vezes para iniciar.
  • Para Windows: Baixe o arquivo .zip, descompacte o conteúdo na sua área de trabalho e clique duas vezes no arquivo openrefine.exe. Isso iniciará uma janela de comando e uma nova guia no seu navegador.

O OpenRefine é o software que fará a automatização para pegarmos as estatísticas, mas quem fornece essa informação é o Shared Count.

SharedCount

SharedCount é um serviço que procura o número de vezes que um determinado URL foi compartilhado nas principais redes sociais. Ele possui uma versão free para até 10.000 requests por dia. Para isso, só precisamos criar uma conta no SharedCount para obter a API Key.

Uma vez que a conta foi criada, clique no botão de Account no Menu para conseguir obter a sua API Key.

pasted image 0 5

Ao clicar no botão Openrefine, deverá abrir um página no seu navegador. Uma vez aberta, faça o upload do arquivo Excel e crie um novo projeto.

webscraping xO54dLRalm

Com o projeto aberto, basta clicar na seta da coluna com a URL e selecionar a opção “add a new column by fetching URLs based on the URL column” (como mostrado acima). Defina o throttle delay como  "1" para que o processo não demore o dia todo e passe esse código para a caixa de expressão:

'http://api.sharedcount.com/v1.0/?apikey=SUA_API_KEY&url=' + value

O próximo passo é extrair os valores retornados em colunas para cada rede social.

O código para:

  • Facebook: value.parseJson()[“Facebook”][“total_count”]
  • Pinterest: value.parseJson()["Pinterest"]
  • GooglePlusOne: value.parseJson()["GooglePlusOne"]
  • LinkedIn: value.parseJson()["LinkedIn"]
webscraping yL9f2L7nov

Por fim,  exporte os resultados de volta para o Excel clicando em Export → Excel 2007+ (.xlsx) para começarmos fazer as análises.

Passo 3: Criando outras colunas no Excel

Agora com a tabela com as informações de compartilhamento nas redes sociais, podemos criar várias colunas para realizar as análises. Algumas análises que podemos fazer:

AnálisesFórmula no Excel
Desempenho por dia da semana=WEEKDAY(célula)
Desempenho se tem a palavra “você” ou não no título=ISNUMBER(SEARCH("você";célula))
Desempenho se tem a palavra “empresa” ou não no título=ISNUMBER(SEARCH("empresa";célula))
Desempenho se tem a palavra “como” ou não no título=ISNUMBER(SEARCH("como";célula))
Desempenho se tem a palavra “dicas” ou não no título=ISNUMBER(SEARCH("dicas";célula))
Número no título x sem número=COUNT(FIND({0;1;2;3;4;5;6;7;8;9};célula))>0
Desempenho por tamanho de título=LEN(célula)-LEN(SUBSTITUTE(célula;" ";""))+1
Desempenho por tamanho de subtítulo=LEN(célula)-LEN(SUBSTITUTE(célula;" ";""))+1
Desempenho por tamanho de post=LEN(célula)-LEN(SUBSTITUTE(célula;" ";""))+1

Ficou com preguiça de criar todas essas colunas? Você pode baixar a planilha pronta clicando aqui.

Principais descobertas do blog da RD

Uma forma bem simples de realizar as suas análises é criar um tabela dinâmica colocando em Valores a média da coluna “Social Stats” e um COUNT do “Social Stats”.

Já no campo de linhas, você pode ir alterando a informação que estará no campo linha.

1. Sexta-feira é o dia que mais gera engajamento social

pasted image 0 2

2. Post entre 1500 e 2500 palavras performam melhor

pasted image 0 6

3. Palavras específicas no título não mudam tanto a média de engajamento social do post. Muito mais importante que a palavra do título, é o conteúdo de qualidade que você gera

pasted image 0 7

4. Títulos entre 15 e 17 palavras tendem a gerar mais engajamento

pasted image 0 4

5. Sub-títulos entre 15 e 20 palavras geram em média maior engajamento social

pasted image 0 3

Todas essas breves análises realizadas podem ficar muito mais rebuscadas juntando informações vindas do RD Station Marketing, Google Analytics, Ahefs, SimilarWeb etc.

O intuito de fazer essa análise com o SharedCount é  mostrar que é possível gerar insights de blogs que você admira ou até mesmo realizar uma análise do blog dos seus concorrentes.

Lembrando que depois da análise é preciso de fato produzir conteúdo para colocar os insights em prática. Para ajudar você, recomendamos o Kit Produção de conteúdo para blog, um material complementar para você saber como definir seus posts, planejar seu calendário de publicação e ganhar produtividade em seu blog.

Kit Produção de conteúdo para blog

Veja como definir seus posts, planejar seu calendário de publicação e ganhar produtividade em seu blog

  • Sua inscrição é gratuita
  • Ao informar meus dados, eu concordo com a Política de privacidade.

* Você pode alterar suas permissões de comunicação a qualquer tempo.
Thiago Rocha

Thiago Rocha

Quem escreveu este post

Sou engenheiro de formação pela Universidade Federal de Santa Catarina (UFSC) e trabalho com Growth há mais de 6 anos em diversas áreas da RD Station – um dos SaaS de mais rápido crescimento no Brasil. Atualmente sou Head de Growth. A equipe é responsável por executar estratégias de aquisição e encontrar as principais alavancas com o objetivo final de escalar o crescimento da empresa. Durante esses anos na empresa, atuou em diversos setores vendo a empresa crescer +3x o número de funcionários, +30x em receita e ter mais de 30 mil clientes em mais de 40 países.

Veja também

Marketing
104 frases relevantes sobre Marketing Digital e Vendas
Marketing
O guia da entregabilidade no Email Marketing
Marketing
5 técnicas de Rich Snippets para aumentar o CTR de seu negócio nas buscas