Web scraping é uma técnica de extração de dados de sites via software ou scripts. Assim, pode-se analisar ou usar esses dados em outras aplicações. É comum em pesquisa de mercado, monitoramento de preços e informações para bancos de dados.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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"]
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álises | Fó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
2. Post entre 1500 e 2500 palavras performam melhor
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
4. Títulos entre 15 e 17 palavras tendem a gerar mais engajamento
5. Sub-títulos entre 15 e 20 palavras geram em média maior engajamento social
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.