Me conta se isso já aconteceu com você antes?
Você está no meio de um projeto para você ou para um cliente. Para atingir seu prazo com sucesso e atingir suas metas, você precisa de acesso a informações detalhadas que estão armazenadas no fundo da página de resultados do mecanismo de pesquisa. Mas há um problema…
Por qualquer motivo (provavelmente uma linha de código draconiana na atualização mais recente do Google), você não consegue acessar ou exportar as informações de que precisa.
oi.
Após 4 expressos duplos e 12 horas tediosamente inserindo os dados à mão (ou pagando a um freelancer uma quantia múltipla de 4 dígitos), você finalmente termina o projeto momentos antes do prazo, completa e totalmente exausto.
Se você é um SEO ou webmaster experiente, posso garantir que o cenário acima provavelmente já aconteceu com você pelo menos uma vez.
E hoje, vou mostrar como você pode usar o Python para extrair os SERPs (ou seu site) para diferentes resultados, para que você possa obter os dados de que precisa… Em 15 minutos ou menos.
Parece um plano? Então vamos ao que interessa.
Por que raspar usando Python?
Apesar do fato de que mais de 5,5 bilhões de pesquisas no Google são enviadas todos os dias, a equipe executiva por trás do mecanismo de pesquisa parece empenhada em impedir que SEOs comuns, como você e eu, acessem os dados de que precisamos para executar nossas campanhas com sucesso.
Usando scripts para coletar SERPs para resultados diferentes 16261788164868
E eu entendo...
Com a proliferação de SEOs black hat tentando burlar o algoritmo e puxar um do sistema, grandes mecanismos de busca como o Google realmente não têm outra escolha. Mas isso não torna mais fácil conviver com o estado das métricas dos mecanismos de pesquisa em 2018.
Se você deseja descobrir as principais métricas por trás do desempenho de SEO do seu site (que não estão disponíveis por meio de análises), verificar falhas de segurança ou obter inteligência competitiva... os dados sãolá para a tomada. Mas você tem que saber como obtê-lo.
Claro, você pode gastar $ 297 / mês em um software caro (que se tornará totalmente obsoleto nos próximos 12 meses) ou pode apenas usar a estratégia que estou prestes a compartilhar com você para encontrar todos os dados necessários em questão de minutos.
Para fazer isso, usaremos uma linguagem de codificação chamada Python para raspar os SERPs do Google para que você possa obter acesso rápido e fácil às informações de que precisa sem complicações.
Deixa-me mostrar-te como.
Requisitos básicos
Antes de começarmos, você precisará ter alguns itens básicos e bibliotecas instaladas para coletar com sucesso as SERPs.
Especificamente, você precisará de:
Pitão:
Splinter
Pandas
Google Chrome (ah!)
Chromedriver
Para aqueles de vocês que são preguiçosos, er… preferem trabalhar de forma inteligente, eu recomendo que você simplesmente desinstale sua distribuição Python existente e baixe esta do Anaconda. Ele vem pré-embalado com a biblioteca Panda (entre muitas outras), tornando-o um pacote de distribuição incrivelmente versátil e robusto.
Se você está satisfeito com sua distribuição python existente, basta conectar as seguintes linhas de código ao seu terminal.
Para obter o Panda/ Para obter o Splinter/ Para obter o Splinter com Anaconda:
pip install pandas
pip install splinter
conda install splinter
Com suas bibliotecas instaladas, é hora de começar a trabalhar e começar a raspar.
Etapa 1: configure suas bibliotecas e navegadores em links
A primeira coisa que você precisa fazer depois que suas bibliotecas estiverem instaladas é importar todas as bibliotecas e configurar seu objeto de navegador.
Por exemplo:
from splinter import Browser
import pandas as pd
# open a browser
browser = Browser('chrome')
Observação: se você deseja criar uma página da Web 'responsiva', precisará configurar o parâmetro use set_window_size para garantir que todos os elementos que você precisa acessar sejam exibidos corretamente.
# Width, Height
browser.driver.set_window_size(640, 480)
Depois que o navegador estiver configurado com sucesso, é hora de visitar o Google. (Eu não acho que você precisa de um tutorial para este).
Etapa 2: Explorando o site
Tudo bem, tudo bem… Chegamos à primeira página com sucesso e agora é hora de navegar no site.
Felizmente, esse processo é bastante simples.
Tudo o que você vai fazer é:
1
Encontre um elemento HTML.
2
Execute uma ação nesse elemento.
Encontrar um elemento HTML é simples. Basta clicar com o botão direito do mouse no site e selecionar "Inspecionar" para abrir as ferramentas do desenvolvedor do Google Chrome. Em seguida, navegue até o canto superior esquerdo da caixa de ferramentas do desenvolvedor e clique no ícone "Inspecionar".
Usando scripts para coletar SERPs para resultados diferentes 16261788164869
A partir daqui, você usará o cursor do inspetor (não confundir com o Inspetor Gadget) para clicar na seção do site que deseja controlar. Neste caso, a barra de pesquisa.
Em seguida, clique com o botão direito do mouse no elemento HTML e selecione "Copiar" > "Copiar XPath".
E bum! Você está pronto para ir.
Etapa #3 Controle o site
O XPath é a peça mais importante de todo esse quebra-cabeça, portanto, você deve mantê-lo seguro colando a seguinte variável no Python.
search_bar_xpath = '//*[@id="lst-ib"]'
A partir daqui, passaremos este XPath para um método do Splinter Browser Object.
find_by_xpath().
Isso extrairá todos os elementos que correspondem ao XPath que você passar e retornará uma lista abrangente de objetos de elemento.
Em seguida, queremos obter a navegação do elemento HTML individual usando a seguinte linha de código:
search_bar_xpath = '//*[@id="lst-ib"]'
# index 0 to select from the list
search_bar = browser.find_by_xpath(search_bar_xpath)[0]
Por fim, configuraremos o código para preencher e clicar no botão de pesquisa.
search_bar.fill("serpstat.com")
# Now let's set up code to click the search button!
search_button_xpath = '//*[@id="tsf"]/div[2]/div[3]/center/input[1]'
search_button = browser.find_by_xpath(search_button_xpath)[0]
search_button.click()
As linhas de código acima digitarão serpstat.com na barra de pesquisa e, em seguida, clicarão no botão de pesquisa. Depois que esse código for executado, você será direcionado para a página de resultados do mecanismo de pesquisa e, finalmente, é hora de começar a raspar esses dados como chiclete velho de um sapato… ou algo parecido.
Etapa # 4: Sente-se e observe a mágica acontecer (hora do raspar!)
Neste exemplo, mostrarei como extrair os títulos e links de cada um dos sites na primeira página das SERPs.
Observe como cada resultado da pesquisa está contido em uma tag de título h3 com uma classe "r". Também é importante lembrar que o título e o link que queremos são armazenados em uma tag a.
Ok, então o XPath da tag destacada é //*[@id="rso"]/div/div/div[1]/div/div/h3/a.
Mas é apenas o primeiro link. E assim como a icônica banda de rock Queen , queremos tudo.
Para obter todos os links dos SERPs, vamos mudar um pouco as coisas para garantir que nosso código find_by_xpath retorne todos os resultados da página.
Veja como:
search_results_xpath = '//h3[@class="r"]/a'
search_results = browser.find_by_xpath(search_results_xpath)
O que esse código realiza é que o xpath diz ao Python para encontrar todas as tags h3 com a classe "r" e, em seguida, extrair a tag a e os dados de cada uma.
Agora, é hora de sentar, deixar a mágica acontecer.
Para extrair o título e o link de cada resultado da pesquisa, tudo o que você precisa fazer é inserir a seguinte linha de código em seu terminal Python.
scraped_data = []
for search_result in search_results:
title = search_result.text.encode('utf8')
link = search_result["href"]
scraped_data.append((title, link))
E agora, todos os títulos e links foram copiados e enviados para a lista scraped_data.
Para exportar todos os dados para csv, você pode simplesmente usar o dataframe do panda usando as 2 linhas de código a seguir:
df = pd.DataFrame(data=scraped_data, columns=["Title", "Link"])
df.to_csv("links.csv")
Esta pequena linha de código simples criará um arquivo csv com título de cabeçalho, link e todos os dados que acabaram de ser copiados.
Muito legal, hein?, ao comprar backlinks de qualidade
E isso , senhoras e senhores, é como você raspa os SERPs do Google usando Python.
Pensamentos finais
A raspagem de sites é uma habilidade inestimável de desenvolvimento da Web que permitirá que você recupere o controle de seus dados e descubra muitos dos "segredos" que o Google escondeu logo abaixo da superfície.
Seguindo a estrutura simples que descrevi hoje, você pode obter acesso rápido e fácil a praticamente qualquer informação necessária com algumas linhas de código e o clique de um botão (ou mouse, por assim dizer).
Então saia e raspe!
Você achou este artigo útil? Você tem alguma dica ou truque para melhorar suas habilidades de raspagem de sites? Comentários, perguntas, preocupações? Sinta-se livre para deixar-nos cair uma linha abaixo e deixe-nos saber!
Comentários
Postar um comentário