Python: obtenga títulos, vistas y me gusta de videos de YouTube usando BeautifulSoup

En este artículo, aprenderemos cómo podemos obtener datos (como título, vistas, me gusta, no me gusta, etc.) de cualquier video de YouTube usando un script de Python. Para esta tarea, vamos a utilizar una biblioteca muy famosa para el web scraping BeautifulSoup y Requests.

Módulos requeridos e Instalación:

Requests :
Requests le permite enviar requests HTTP/1.1 de forma extremadamente sencilla. No es necesario agregar manualmente strings de consulta a sus URL.

pip install requests

Beautiful Soup :
Beautiful Soup es una biblioteca que facilita extraer información de las páginas web. Se asienta sobre un analizador HTML o XML, proporcionando modismos Pythonic para iterar, buscar y modificar el árbol de análisis.

pip install beautifulsoup4

Para una URL dada de video, se realizará el raspado de datos. Luego, el análisis de datos (título, vistas, elementos de me gusta) se realizará utilizando el find()método de Beautiful Soup. Encontrará y almacenará los valores en el diccionario.

Código:

# importing the libraries
from bs4 import BeautifulSoup
import requests
  
# creating function
def scrape_info(url):
      
    # getting the request from url
    r = requests.get(url)
      
    # converting the text
    s = BeautifulSoup(r.text, "html.parser")
      
    # finding meta info for title
    title = s.find("span", class_="watch-title").text.replace("\n", "")
      
    # finding meta info for views
    views = s.find("div", class_="watch-view-count").text
      
    # finding meta info for likes
    likes = s.find("span", class_="like-button-renderer").span.button.text
      
    # saving this data in dictionary
    data = {'title':title, 'views':views, 'likes':likes}
      
    # returning the dictionary
    return data
  
# main function
if __name__ == "__main__":
      
    # URL of the video
    url ="https://www.youtube.com/watch?time_continue=17&v=2wEA8nuThj8"
      
    # calling the function
    data = scrape_info(url)
      
    # printing the dictionary
    print(data)

Producción:

{‘título’: ‘ Colocación100 | GeeksforGeeks ‘, ‘vistas’: ’18, 964 vistas’, ‘me gusta’: ’37’}

Publicación traducida automáticamente

Artículo escrito por rakshitarora 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 *