Construya un raspador de YouTube para obtener videos utilizando API Easy2Digital

En este capítulo 5, puede aprender a construir un raspador de YouTube, aprovechando los recursos de Google API. Aprende más

Previously we took the Ring.com website as an example in Python Tutorial. We walked you through how to specify Ring product price data to scrape and save the bulk of data in the local drive. Basically, the script code can scrape any general websites that are built and developed by CMS, such as WordPress, Shopify, etc. If you want to have a copy of the python script file, please contact us.

Being said that, we can’t use the script to scrape all types of websites. It’s because the data feed on some websites can be only accessible via API, such as Youtube, Facebook, Amazon, etc. Frankly, if you just want to scrape these sites’ data by URL, I suggest you leverage Google Sheet importxml instead of Python because it’s much easier (Time is money). On the other hand, automation and a bulk amount of scraping data work is your regular work, for example, if you are a social media marketer, you need to recruit influencers or KOLs, and the following series of articles can help relieve your stress and repeat manual work.

Comenzaríamos con el raspado de video de YouTube primero, y al final de este tutorial de Python, puede aprender cómo instalar la tecla API de YouTube, qué métodos de dar los métodos que puede usar con la API de YouTube y cómo raspar videos de YouTube y datos analíticos de video en escala.

Tabla de contenido: Construya un bot de YouTube para raspar videos de tendencia con YouTube y API Easy2Digital

Cree una tecla API de YouTube e instálela en su Mac

Lo primero que primero en Python Tutorial, debe crear una cuenta de la consola de la API de Google y un nuevo proyecto. Es muy simple y gratuito, lo que necesita hacer es solo unos pocos pasos:

1) Busque la consola de la API de Google y regístrese para obtener una nueva cuenta.

2) Then, on the right corner, you can see the “New Project” button. If you have already created it will appear in a separate window. The below picture will help you out.

3) You can click ‘enable APIs and services, and then search youtube. You can have some Youtube API options available and you can select Youtube Data API v3 if you are going to scrape video data.

4) En credencial, debe crear una nueva clave API, que se usará en un momento en su script de Python. La clave API es una cadena y un número únicos para identificar la puerta de enlace que usa para obtener la alimentación de datos, por lo que manténgala confidencial y no lo revele. De lo contrario, debe eliminarlo y recrearlo nuevamente.

5) Vamos a la instalación e instalamos el módulo de Google APIS en nuestra computadora (Mac o Windows).

Como de costumbre, abrimos el terminal Mac y pasamos en este comando

Pip3 install google-api-python-client

Después de que se realice la instalación, puede pasar en una lista de comando: PIPS, y como puede ver, todos los módulos que se muestran aquí incluyen BeautifulSoup, etc.

Cómo usar la documentación de la API de YouTube para comenzar a codificar el script Python

En primer lugar, necesitamos crear un archivo de script Python3 en el texto sublime, importar el módulo de la API de Google y crear una variable que se pasa en la tecla API de YouTube. Y para cualquier documentación relacionada con las API de Google, puede ir a Google API-Python o ir a la página de Google API en GitHub.

from googleapiclient.discovery import build

api_key = 'xxxxxxxxxx…..’ 

(Nota: mantenga su número clave de la API de YouTube confidencial y seguro, de lo contrario, puede ser pirateado fácilmente y tiene que recrear uno nuevo)

Luego, necesitamos crear un objeto de servicio, que toma un nombre de API y una versión de API como argumentos. Con respecto a la creación de objetos de Python, no entraré en detalles en este artículo, pero lanzaré otro para guiarlo.

Función de construcción

Para esto, podemos referirnos a la compilación (), y a continuación se encuentra el parámetro de argumento en esta función.

build(serviceName, version, http=None, discoveryServiceUrl=DISCOVERY_URI, developerKey=None, model=None, requestBuilder=HttpRequest, credentials=None, cache_discovery=True, cache=None,client_options=None, adc_cert_path=None, adc_key_path=None, num_retries=1)

Entonces creamos una variable nombrada en YouTube y pasamos los argumentos para crear un objeto

 youtube = build(‘youtube’, ‘v3’, developerKey=api_key)

  • serviceName: We can pass in ‘youtube’ because the API is youtube
  • version: We can use the version installed on our Google API console, which should be v3
  • developer key: As we have created an api_key variable, so we can directly and simply pass in the variable ‘api_key’

Luego, como necesitamos raspar los videos de una consulta de palabras clave de los resultados de búsqueda, por lo que en primer lugar debemos verificar si API nos permite tomar, ellos y qué método API de YouTube nos permite usar. Podemos buscar la API de YouTube y ir a la página de referencia de la API de YouTube para verificar.

Como puede ver, YouTube proporciona un método de búsqueda y un método de lista para que los usuarios codifiquen y obtengan datos de resultados de búsqueda. Y dentro del método, hay muchos parámetros para que adopte. En uno de esos, la parte es imprescindible en la línea de codificación. Entonces, en términos de raspado de resultados de búsqueda de video, podemos probar esta línea de código, y tiene como objetivo obtener la información de video de la consulta de palabras clave «Cámara de atención de anillo». Podemos probar diferentes palabras clave como desee.

request = youtube.search().list(

        part='snippet',

        q='ring spotlight camera',

        maxResults='50',

)

response = request.execute()

print(response)

It’s working and max.50 videos by using maxresult can be grabbed and shown on Sublime Text.

Videos raspados en el resultado de la consulta de búsqueda de YouTube

Ahora se puede acceder a los datos de la consulta de palabras clave, suponemos obtener 3 tipos de datos y ver cómo encontrar la ubicación de los datos.

  • Nombre del Canal
  • Titulo del Video
  • ID de video

The first thing first in Python Tutorial is we can see all the data of each video we aim to grab within the item [….]. And channel name & video title data are under the snippet path, and the video id is under the id path. So based on this, we can write lines of code.

'items': [{'kind': 'youtube#searchResult', 'etag': 'GGoUw-TsOsWwwPIBcKVUozGGrW8', 'id': {'kind': 'youtube#video', 'videoId': 'd7iJwF-5xGU'}, 'snippet': {'publishedAt': '2017-08-03T19:29:56Z', 'channelId': 'UCSDG3M0e2mGX9_qtHEtzj2Q', 'title': 'How to Install & Setup Ring Spotlight Cam | Easy to Connect', 'description': 'Learn how to easily setup and install your Ring Spotlight Cam & Battery. Spotlight Cam Battery comes with a 1080HD camera with two-way talk, two LED ...', 'thumbnails': {'default': {'url': 'https://i.ytimg.com/vi/d7iJwF-5xGU/default.jpg', 'width': 120, 'height': 90}, 'medium': {'url': 'https://i.ytimg.com/vi/d7iJwF-5xGU/mqdefault.jpg', 'width': 320, 'height': 180}, 'high': {'url': 'https://i.ytimg.com/vi/d7iJwF-5xGU/hqdefault.jpg', 'width': 480, 'height': 360}}, 'channelTitle': 'Ring', 'liveBroadcastContent': 'none', 'publishTime': '2017-08-03T19:29:56Z'}},{'kind': 'youtube#searchResult', 'etag': '3P6Ws8ggqau3I0Dew2nDsRcsr0Q', 'id': {'kind': 'youtube#video', 'videoId': 'U-06WEwtaSk'}, 'snippet': {'publishedAt': '2020-01-21T14:52:47Z', 'channelId': 'UCXn_loz0TlUKarhS6sUoKVw', 'title': 'Is the Ring Spotlight Camera Worth Buying?', 'description': 'In this video we review the Ring Spotlight Camera. We like the Spotlight and the Floodlight because it will shine its lights and start recording video whenever ...', 'thumbnails': {'default': {'url': 'https://i.ytimg.com/vi/U-06WEwtaSk/default.jpg', 'width': 120, 'height': 90}, 'medium': {'url': 'https://i.ytimg.com/vi/U-06WEwtaSk/mqdefault.jpg', 'width': 320, 'height': 180}, 'high': {'url': 'https://i.ytimg.com/vi/U-06WEwtaSk/hqdefault.jpg', 'width': 480, 'height': 360}}, 'channelTitle': 'HomeAutomationX', 'liveBroadcastContent': 'none', 'publishTime': '2020-01-21T14:52:47Z'}}, 

channel_title = (item['snippet']['channelTitle'])

print(channel_title)

video_title = (item['snippet']['title'])

print(video_title)

try:

    vid_ids = (item['id']['videoId'])

except Exception as e:

    vid_ids = None

print(vid_ids)

Faltan algunas ID de video en los datos, el motivo es que el resultado también muestra la información de la página del canal o los videos relacionados, por lo que para evitar los errores de raspado en el proceso, debemos agregar Try/Excepto por la ID de video de desguace de arriba.

Bucle para raspar

Para el bucle del proceso de raspado, necesitamos agregar una línea de código como nivel principal antes de él

for item in response['items']:

Entonces todos los videos se pueden raspar como puede ver desde el resultado.

Ahora podemos importar los datos a un archivo CSV

(Nota: Si está interesado en aprender a analizar y pasar datos a un CSV, consulte este artículo)

Capítulo 3: Utilice el módulo CSV para escribir, analizar, leer archivos CSV para administrar datos raspados

Cada video de YouTube tiene una identificación única, y la estructura de URL de video básicamente es así

https://www.youtube.com/watch?v= + Video ID

O puede aprovechar el método de formato en el código, o puede aprovechar concatenate () en el archivo de Excel.

Apalancamiento API Easy2Digital

Si encuentra que el script puede ser complicado y también requiere que actualice los scripts y arregle los errores en y apagado, puede aprovechar la API BOT de YouTube Easy2Digital. Aquí está el punto final de token de la siguiente manera:

https://www.buyfromlo.com?token=&youtubeKey=&keyword=

By using this API endpoint, you just need to add the Youtube key, Easy2Digital token, and the keywords related to the video content you aim to scrape. The scraped result is the same as the one shown above.

Para obtener más detalles sobre las API de marketing, consulte esta página.

Documentación de API de marketing de Easy2Digital

Easy2Digital API Free Token y Python Script de YouTube Bot

If you would like to have a free Easy2Digital API token and the full version of the Python Script of Youtube Bot Scraper, please subscribe to our newsletter by adding the message Chapter 5. We would send you asap to your mailbox.

Contáctenos

Tan fácil, ¿verdad? Espero que disfrutes leyendo Capítulo 5: Construya un bot de YouTube para raspar videos de tendencia usando YouTube y API Easy2Digital. Si lo hizo, por favor nos apoye haciendo una de las cosas enumeradas a continuación, porque siempre ayuda a nuestro canal.

  • Support and donate to our channel through PayPal (paypal.me/Easy2digital)
  • Subscribe to my channel and turn on the notification bell Easy2Digital Youtube channel.
  • Follow and like my page Easy2Digital Facebook page
  • Comparta el artículo en su red social con el hashtag #Easy2Digital
  • Buy products with Easy2Digital 10% OFF Discount code (Easy2DigitalNewBuyers2021)
  • Usted se registra en nuestro boletín semanal para recibir los últimos artículos, videos y códigos de descuento de Easy2Digital.

If you are interested in more Python Scraping via Youtube API, you can continue to read more in Chapter 6

Capítulo 6: Aprovechar las API Easy2Digital y la clave de YouTube para raspar la vista, los comentarios y los datos de más de 50 videos de los mejores de clasificación

Tabla de contenido: