Raspe los resultados de búsqueda de Google usando Python BeautifulSoup

En este artículo, vamos a ver cómo raspar los resultados de búsqueda de Google usando Python BeautifulSoup.

Módulo necesario:

  • bs4: Beautiful Soup (bs4) es una biblioteca de Python para extraer datos de archivos HTML y XML. Este módulo no viene integrado con Python. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install bs4
  • requests:  Requests le permite enviar requests HTTP/1.1 con mucha facilidad. Este módulo tampoco viene integrado con Python. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install requests

Acercarse:

  • Importe las bibliotecas beautifulsoup y request.
  • Cree dos strings con la URL de búsqueda predeterminada de Google, ‘https://google.com/search?q=’ y nuestra palabra clave de búsqueda personalizada.
  • Concatene estas dos strings para obtener nuestra URL de búsqueda.
  • Obtenga los datos de la URL mediante request.get(url), guárdelos en una variable, request_result .
  • Cree una string y almacene el resultado de nuestra solicitud obtenida, utilizando request_result.text.
  • Ahora usamos BeautifulSoup para analizar la página extraída. Simplemente podemos crear un objeto para realizar esas operaciones, pero beautifulsoup viene con muchas funciones integradas para raspar la web. Primero creamos un objeto de sopa usando beautifulsoup de la solicitud-respuesta
  •  Podemos hacer soup.find.all(h3) para capturar todos los encabezados principales de nuestro resultado de búsqueda, iterar a través del objeto e imprimirlo como una string.

Ejemplo 1: A continuación se muestra la implementación del enfoque anterior.

Python3

# Import the beautifulsoup 
# and request libraries of python.
import requests
import bs4
  
# Make two strings with default google search URL
# 'https://google.com/search?q=' and
# our customized search keyword.
# Concatenate them
text= "geeksforgeeks"
url = 'https://google.com/search?q=' + text
  
# Fetch the URL data using requests.get(url),
# store it in a variable, request_result.
request_result=requests.get( url )
  
# Creating soup from the fetched request
soup = bs4.BeautifulSoup(request_result.text,
                         "html.parser")
print(soup)

Producción:

Hagamos Soup.find.all(h3) para capturar todos los encabezados principales de nuestro resultado de búsqueda, iterar a través del objeto e imprimirlo como una string.

Python3

# soup.find.all( h3 ) to grab 
# all major headings of our search result,
heading_object=soup.find_all( 'h3' )
  
# Iterate through the object 
# and print it as a string.
for info in heading_object:
    print(info.getText())
    print("------")

Producción:

Ejemplo 2: A continuación se muestra la implementación. En forma de extraer la temperatura de la ciudad usando la búsqueda de Google:

Python

# import module
import requests 
import bs4 
  
# Taking thecity name as an input from the user
city = "Imphal"
  
# Generating the url  
url = "https://google.com/search?q=weather+in+" + city
  
# Sending HTTP request 
request_result = requests.get( url )
  
# Pulling HTTP data from internet 
soup = bs4.BeautifulSoup( request_result.text 
                         , "html.parser" )
  
# Finding temperature in Celsius.
# The temperature is stored inside the class "BNeawe". 
temp = soup.find( "div" , class_='BNeawe' ).text 
    
print( temp ) 

Producción:

Publicación traducida automáticamente

Artículo escrito por akashkumarsen4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *