Construa um raspador do YouTube para buscar vídeos usando APIs Easy2Digital

Neste capítulo 5, você pode aprender a criar um raspador do YouTube, aproveitando os recursos do Google APIs. Saber mais

Anteriormente, pegamos o site Ring.com como exemplo no Tutorial Python. Orientamos você sobre como especificar os dados de preço do produto Ring para extrair e salvar a maior parte dos dados na unidade local. Basicamente, o código do script pode copiar qualquer site geral construído e desenvolvido por CMS, como WordPress, Shopify, etc. Se você deseja uma cópia do arquivo de script python, entre em contato conosco .

Dito isto, não podemos usar o script para copiar todos os tipos de sites. É porque o feed de dados em alguns sites só pode ser acessível via API, como Youtube, Facebook, Amazon, etc. Francamente, se você deseja apenas extrair os dados desses sites por URL, sugiro que você aproveite o importxml do Google Sheet em vez de Python porque é muito mais fácil (Tempo é dinheiro). Por outro lado, a automação e uma grande quantidade de trabalho de coleta de dados são seu trabalho regular, por exemplo, se você é um profissional de marketing de mídia social, precisa recrutar influenciadores ou KOLs, e a série de artigos a seguir pode ajudar a aliviar seu estresse e repita o trabalho manual.

Começaríamos primeiro com a extração de vídeo do YouTube e, ao final deste tutorial do Python, você pode aprender como instalar a chave da API do YouTube, quais métodos você pode usar pela API do YouTube e como extrair vídeos do YouTube e dados analíticos de vídeo em escala.

Índice: Construa um bot do YouTube para extrair vídeos populares usando APIs do YouTube e Easy2Digital

Crie uma chave de API do Youtube e instale-a no seu Mac

A primeira coisa no tutorial Python é que você precisa criar uma conta no console da API do Google e um novo projeto. A inscrição é muito simples e gratuita, bastando apenas alguns passos:

1) Pesquise no console da API do Google e inscreva-se para uma nova conta.

2) A seguir, no canto direito, você verá o botão “Novo Projeto”. Se você já criou, ele aparecerá em uma janela separada. A imagem abaixo irá ajudá-lo.

3) Você pode clicar em 'ativar APIs e serviços e pesquisar no YouTube. Você pode ter algumas opções de API do YouTube disponíveis e pode selecionar API de dados do YouTube v3 se quiser extrair dados de vídeo.

4) Na credencial, você precisa criar uma nova chave API, que será usada em breve no seu script Python. A chave de API é uma string e um número exclusivos para identificar o gateway que você usa para obter o feed de dados, portanto, mantenha-o confidencial e não o divulgue. Caso contrário, você precisará removê-lo e recriá-lo novamente.

5) Vamos para a instalação e instalamos o módulo Google APIs em nosso computador (Mac ou Windows).

Como de costume, abrimos o terminal Mac e passamos este comando

Pip3 install google-api-python-client

Após a instalação, você pode passar um comando: pips list, e como você pode ver, todos os módulos mostrados aqui incluem beautifulsoup, etc.

Como usar a documentação da API do YouTube para começar a codificar o script Python

Primeiro de tudo, precisamos criar um arquivo de script Python3 em texto sublime, importar o módulo API do Google e criar uma variável que é passada na chave API do Youtube. E para qualquer documentação relacionada às APIs do Google, você pode acessar APIs do Google – Python ou acessar a página de APIs do Google no GitHub.

from googleapiclient.discovery import build

api_key = 'xxxxxxxxxx…..'

(Observação: mantenha o número da sua chave API do YouTube confidencial e segura, caso contrário você poderá ser hackeado facilmente e terá que recriar um novo)

Então, precisamos criar um objeto de serviço, que recebe um nome de API e uma versão de API como argumentos. Em relação à criação de objetos em Python, não entrarei em detalhes neste artigo, mas lançarei outro para orientar você.

Função de construção

Para isso, podemos nos referir ao build(), e abaixo está o parâmetro do argumento nesta função.

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)

Então criamos uma variável chamada no youtube e passamos os argumentos para criar um objeto

youtube = build('youtube', 'v3', developerKey=api_key)

  • serviceName : Podemos passar 'youtube' porque a API é youtube
  • versão : podemos usar a versão instalada em nosso console da API do Google, que deve ser v3
  • chave do desenvolvedor : como criamos uma variável api_key, podemos passar direta e simplesmente a variável 'api_key'

Então, como precisamos extrair os vídeos de uma consulta de palavra-chave dos resultados de pesquisa, primeiro precisamos verificar se a API nos permite capturá-los e qual método da API do YouTube nos permite usar. Podemos apenas pesquisar a API do YouTube e ir para a página de referência da API do YouTube para verificar.

Como você pode ver, o Youtube fornece um método de pesquisa e um método de lista para os usuários codificarem e obterem dados de resultados de pesquisa. E dentro do método, existem vários parâmetros para você adotar. Em um deles, a peça é obrigatória na linha de codificação. Portanto, em termos de coleta de resultados de pesquisa de vídeo, podemos tentar esta linha de código, e ela tem como objetivo obter as informações do vídeo da consulta de palavra-chave “ring spotlight camera”. Podemos tentar palavras-chave diferentes conforme você desejar.

request = youtube.search().list(

part='snippet',

q='ring spotlight camera',

maxResults='50',

)

response = request.execute()

print(response)

Está funcionando e no máximo 50 vídeos usando maxresult podem ser capturados e exibidos no Sublime Text.

Raspe vídeos no resultado da consulta de pesquisa do YouTube

Agora que os dados da consulta por palavra-chave estão acessíveis, presumimos capturar 3 tipos de dados e vamos ver como encontrar a localização dos dados.

  • nome do canal
  • Título do vídeo
  • ID do vídeo

A primeira coisa no Tutorial Python é que podemos ver todos os dados de cada vídeo que pretendemos capturar dentro do item [….]. E os dados do nome do canal e do título do vídeo estão no caminho do snippet, e o ID do vídeo está no caminho do id. Então, com base nisso, podemos escrever linhas de código.

'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)

Alguns IDs de vídeo estão faltando nos dados, o motivo é que o resultado também mostra as informações da página do canal ou vídeos relacionados, portanto, para evitar erros de extração no processo, precisamos adicionar try/except para o ID do vídeo de extração acima.

Loop para raspar

Para repetir o processo de raspagem, precisamos adicionar uma linha de código como nível pai antes dele

for item in response['items']:

Em seguida, todos os vídeos podem ser copiados, como você pode ver no resultado.

Agora podemos importar os dados para um arquivo CSV

(Observação: se você estiver interessado em aprender como analisar e passar dados para um CSV, consulte este artigo)

Capítulo 3: Utilize o módulo CSV para escrever, analisar e ler arquivos CSV para gerenciar dados extraídos

Cada vídeo do YouTube tem um ID exclusivo e a estrutura do URL do vídeo é basicamente assim

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

Você pode aproveitar o método de formato no código ou pode aproveitar CONCATENATE() no arquivo Excel.

Aproveite as APIs Easy2Digital

Se você achar que o script pode ser complicado e também requer atualização de scripts e correção de bugs, você pode aproveitar a API Easy2Digital Youtube Bot. Aqui está o endpoint do token da seguinte forma:

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

Ao usar este endpoint de API, você só precisa adicionar a chave do Youtube, o token Easy2Digital e as palavras-chave relacionadas ao conteúdo de vídeo que você pretende copiar . O resultado raspado é o mesmo mostrado acima.

Para obter mais detalhes sobre APIs de marketing, confira esta página.

Documentação das APIs de marketing Easy2Digital

Token gratuito da API Easy2Digital e script Python completo do bot do YouTube

Se você gostaria de ter um token API Easy2Digital gratuito e a versão completa do Python Script do Youtube Bot Scraper, por favor subscreva a nossa newsletter adicionando a mensagem Capítulo 5 . Nós o enviaremos o mais rápido possível para sua caixa de correio.

Contate-nos

Tão fácil, certo? Espero que você goste de ler o Capítulo 5: Construa um bot do YouTube para extrair vídeos populares usando APIs do YouTube e Easy2Digital. Se você fez isso, por favor, apoie-nos fazendo uma das coisas listadas abaixo, porque isso sempre ajuda nosso canal.

  • Apoie e doe para nosso canal através do PayPal ( paypal.me/Easy2digital )
  • Inscreva-se no meu canal e ative o sininho de notificação do canal Easy2Digital no Youtube .
  • Siga e curta minha página Página Easy2Digital no Facebook
  • Compartilhe o artigo em sua rede social com a hashtag #easy2digital
  • Compre produtos com código de desconto Easy2Digital 10% OFF ( Easy2DigitalNewBuyers2021)
  • Você se inscreve em nosso boletim informativo semanal para receber os artigos, vídeos e códigos de desconto mais recentes da Easy2Digital

Se você estiver interessado em mais Python Scraping via API do YouTube, continue lendo mais no Capítulo 6

Capítulo 6: Aproveite as APIs Easy2Digital e a chave do Youtube para extrair dados de visualização, comentários e curtidas de mais de 50 vídeos dos mais bem classificados

Perguntas frequentes:

Q1: Qual é a marca do produto?

A: A marca do produto é 0.

Q2: Qual é a garantia do produto?

A: O produto possui uma garantia de 1 ano.

Q3: Qual é o prazo de entrega do produto?

A: O prazo de entrega do produto é de 5 a 7 dias úteis.

Q4: O produto possui manual de instruções?

A: Sim, o produto acompanha um manual de instruções.

Q5: Qual é a voltagem do produto?

A: O produto é bivolt, funciona tanto em 110V como em 220V.

Q6: O produto possui assistência técnica?

A: Sim, o produto possui assistência técnica autorizada em todo o país.

Q7: O produto é resistente à água?

A: Sim, o produto é resistente à água e pode ser utilizado em ambientes úmidos.

Q8: Quais são as dimensões do produto?

A: As dimensões do produto são 20cm de altura, 30cm de largura e 40cm de profundidade.

Q9: O produto possui certificação de qualidade?

A: Sim, o produto possui certificação de qualidade conforme as normas vigentes.

Q10: Posso devolver o produto caso não fique satisfeito?

A: Sim, você pode devolver o produto em até 7 dias após a compra, desde que esteja nas condições originais.