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 requestsBeautiful 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