Como Scrape Google usando Python

Como fazer, Python, Scraping, Mar-06-20245 minutos de leitura

O Google é o maior player entre todos os mecanismos de busca quando se trata de pesquisar informações na Internet. De acordo com as estimativas, mais de 3,5 bilhões de pesquisas são realizadas na Pesquisa Google todos os dias. Nós (usuários do Google) só recebemos uma certa quantidade de informações com base no Google Analytics e no Google Ads. O Google usa sua API

Índice

O Google é o maior player entre todos os mecanismos de busca quando se trata de pesquisar informações na Internet. De acordo com as estimativas, mais de 3,5 bilhões de pesquisas são realizadas na Pesquisa Google todos os dias. Nós (usuários do Google) só recebemos uma determinada quantidade de informações com base no Google Analytics e no Google Ads. O Google usa sua API (Interface de Programação de Aplicativos) e, essencialmente, escolhe as informações mais valiosas para nós com base em suas pesquisas e classificações. Mas e se quisermos nos aprofundar um pouco mais nas informações que são realmente valiosas para você? 

É aí que entra a necessidade do scraping. Você pode pensar em um raspador do Google como uma forma de destacar os capítulos mais importantes de um livro. Quando você examina um livro didático em busca de informações, tende a escolher o texto que será mais valioso para sua pesquisa ou teste. Mas a World Wide Web é maior do que um livro de 1.000 páginas. Portanto, no caso da Internet, o raspador do Google pode ser o seu olho focado a laser que imediatamente capta e coleta os principais resultados sobre o tópico que você deseja saber. Você pode extrair resultados de pesquisa do Google com base em palavras-chave específicas. Por exemplo, se você acessar scrape Google usando a palavra-chave "lions" (leões), o Google Web Scraper fornecerá um determinado número de URLs com as melhores classificações com base nessa palavra-chave. Quanto mais palavras-chave você usar, o Google lhe fornecerá URLs e dados mais específicos. Quanto mais específicos forem os dados, mais eles serão adaptados às suas necessidades. Mas primeiro vamos entender a necessidade de scrape Google.

Por que você precisa acessar Scrape Google?

Você sabe que o Google é o principal ponto de entrada na Internet para bilhões de pessoas, e quase todas as empresas querem aparecer nos resultados da Pesquisa Google. As classificações e avaliações do Google têm um impacto enorme nos perfis on-line das empresas locais. As agências de marketing que têm muitos clientes de diferentes setores dependem muito da obtenção de ferramentas confiáveis de SEO (Search Engine Optimization). Elas são um meio de executar várias tarefas com eficácia e um meio de gerenciar e analisar os resultados com sucesso. 

Veja a seguir alguns dos casos de uso do scraping Google.

  • Você pode analisar anúncios para um determinado conjunto de palavras-chave.
  • Você pode monitorar sua concorrência nos resultados orgânicos e pagos.
  • Você pode criar uma lista de URLs para palavras-chave específicas. 

As empresas precisam acessar scrape Google pelos seguintes motivos.

  • Otimização de mecanismos de busca (SEO) - Scraping O Google mostra a uma empresa a posição em que a página do seu site aparece na página de resultados do Google e dá uma ideia de quantas palavras-chave o site usa em qualquer página. Quanto mais palavras-chave um site usar, maior será a posição dessa página específica na página de resultados. Portanto, saber como utilizar o SEO mantém sua empresa altamente competitiva.
  • Marketing - Quanto mais vemos o logotipo da Amazon em nossas telas, maior a probabilidade de irmos à Amazon quando precisarmos fazer uma compra. O Google scraping ajuda a coletar dados sobre como seus concorrentes anunciam seus produtos, quais produtos eles escolhem para anunciar e como os clientes respondem a esses produtos. 
  • Táticas de vendas competitivas - O Google scraping ajuda sua empresa a criar táticas de vendas mais competitivas. Se a sua empresa tiver uma classificação baixa em uma determinada página de resultados, isso poderá fornecer informações sobre o motivo pelo qual um determinado produto da sua empresa não está sendo bem-sucedido. O site Scraping lhe dá uma vantagem sobre a concorrência e oferece novas maneiras de ser competitivo neste mundo. 

Scraping Google usando Python

Vamos ver como podemos scrape Google usando python.

Instalação

Primeiro, você precisa instalar um agente de usuário falso. Ele obtém o useragent atualizado com um banco de dados do mundo real.

pip install fake-useragent

Importar bibliotecas

Você deve importar todas as bibliotecas necessárias, conforme mostrado abaixo.

import pandas as pd
import numpy as np
import urllib
from fake_useragent import UserAgent
import requests
import re
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup

Use uma palavra-chave

Você precisa criar o URL do Google usando sua palavra-chave e o número de resultados. Para fazer isso, seguiremos duas etapas:

Codificar a palavra-chave em HTML usando urllibAdicionar o id ao URL

Suponhamos que nossa palavra-chave seja "python de aprendizado de máquina".

keyword= "aprendizado de máquina python"
html_keyword= urllib.parse.quote_plus(keyword)
imprimir(html_keyword)

Quando imprimimos a palavra-chave, obtemos o seguinte resultado.

Crie o URL do Google

Depois de codificar a palavra-chave em HTML usando urllib, precisamos criar o URL do Google conforme mostrado abaixo.

número_de_resultados = 15
google_url = "https://www.google.com/search?q=" + html_keyword + "&num=" + str(number_of_result)
print(google_url)

Obtemos o seguinte URL:

Obter os resultados

Agora, temos que acessar a URL e obter os resultados. Para isso, o Beautiful Soup e o Fake Useragent nos ajudarão.

ua = UserAgent()
response = requests.get(google_url, {"User-Agent": ua.random})
soup = BeautifulSoup(response.text, "html.parser")

Precisamos apenas das expressões regulares para extrair as informações que desejamos.

result = soup.find_all('div', attrs = {'class': 'ZINbbc'})
results=[re.search('\/url\?q\=(.*)\&sa',str(i.find('a', href = True)['href'])) for i in result if "url" in str(i)]
#this is because in rare cases we can't get the urls
links=[i.group(1) for i in results if i != None]
links

Aqui está o que recebemos.

É assim que você pode scrape Google usando Python. 

Também podemos resumir o código acima em uma única função de raspador, conforme mostrado abaixo.

def google_results(keyword, n_results):
    query = keyword
    query = urllib.parse.quote_plus(query) # Format into URL encoding
    number_result = n_results
    ua = UserAgent()
    google_url = "https://www.google.com/search?q=" + query + "&num=" + str(number_result)
    response = requests.get(google_url, {"User-Agent": ua.random})
    soup = BeautifulSoup(response.text, "html.parser")
    result = soup.find_all('div', attrs = {'class': 'ZINbbc'})
    results=[re.search('\/url\?q\=(.*)\&sa',str(i.find('a', href = True)['href'])) for i in result if "url" in str(i)]
    links=[i.group(1) for i in results if i != None]
    return (links)

Aqui, google_results é nossa função de raspador, na qual passamos a palavra-chave e o número de resultados como parâmetros e criamos o URL do Google.

google_results('aprendizado de máquina em python', 10)

Aqui está o que recebemos.

Uso de Proxies

E se você quiser se conectar à API do Google Ads? Você pode fazer isso por meio de um proxy definindo a configuração http_proxy no arquivo google-ads.yaml, conforme mostrado abaixo.

http_proxy: INSERT_PROXY_HERE

Você pode especificar http://user:pass@localhost:8082 como proxy. Também é possível definir a configuração proxy programaticamente com a ajuda dos métodos do GoogleAdsClient, como:

  • load_from_dict
  • load_from_env
  • load_from_string

Por exemplo, 

config = {
  ...
  "http_proxy": "INSERT_PROXY_HERE",
}
googleads_client = GoogleAdsClient.load_from_dict(config)

Você precisa definir a variável de ambiente GOOGLE_ADS_HTTP_PROXY para usar um proxy do método load_from_env.

Por que usar o Google Proxies?

Veja a seguir os motivos para usar o Google proxies.

  • Obtenha resultados rápidos e exclusivos - Todos os mecanismos de pesquisa, inclusive o Google, desaprovam o uso de softwares automatizados para extrair resultados. Quando eles encontram várias consultas de pesquisa provenientes de um endereço IP, eles bloqueiam o endereço IP e impedem que ele tenha acesso a quaisquer dados. Portanto, com um lote inteiro de proxies privados exclusivos e dedicados, você não só poderá usar o software automatizado para extrair os resultados de pesquisa do Google, como também poderá obter os dados com extrema rapidez.
  • Mantenha a privacidade - O Google proxies garante que seu endereço IP original estará seguro e protegido e não será suscetível a nenhuma tentativa de invasão. Eles também garantirão que as informações confidenciais do seu computador sejam mantidas em um local seguro.
  • Automação - O software de automação funciona corretamente usando um site de boa qualidade proxies, e você não precisa comprar mais nada além de ter o site dedicado proxies e o software de automação.

Conclusão

Você pode scrape Google usando Python para:

  • Análise da concorrência
  • Criação de links
  • Destacando a presença social
  • Pesquisa de palavras-chave

Quando scraping dados do Google, proxies são essenciais, pois podem ajudar as empresas a aumentar sua classificação nos mecanismos de pesquisa e evitar que seu IP da Internet seja bloqueado. Você pode usar um lote inteiro de proxies dedicados para scraping Google, e eles o ajudam a obter os dados com extrema rapidez.

Espero que você tenha entendido como scrape Google usando Python.