Como raspar novos vídeos do YouTube de um canal específico em primeiro lugar?

votos
0

Eu tenho um canal e eu quero começar um novo vídeo carregado a partir dele o mais rápido possível. Qual seria o melhor método para fazê-lo? Dois opção eu sei:

  1. Use a API do YouTube
  2. Acesse o canal via url diretamente

Com a opção 1 que eu precisaria para chamar a API a fim de obter uma lista de vídeos. Desde lá quotas no lugar, eu acho que vai ficar fora das chamadas de API que eu posso fazer. Eu diria que a opção 2 é a melhor aposta, uma vez que pode chamar a url tão frequentemente como eu quero.

São novos vídeos disponíveis por meio da API em primeiro lugar? Ou é um vídeo acessado via URL disponibilizados em momentos diferentes para os usuários, dependendo da região eles estão vindo? Eu construir um url raspador de mim mesmo. Eu acessar a url cada minuto. Ainda há pessoas que têm o vídeo de 8 minutos antes de eu tê-lo. Eu não entendo porque este é o caso.

Publicado 13/01/2020 em 22:02
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Você pode tentar feed RSS para o canal interessado. Ele contém vídeos frescos com UTC timestamp (assim Ainda não há problemas com fusos horários que você mencionou).

link RSS vídeos do canal pode ser encontrada no código fonte da página do canal. Open source da página e pesquisa "rssUrl":

Respondeu 14/01/2020 em 11:46
fonte usuário

votos
0

Só para construir fora um pouco do que MadRay escreveu que você pode fazer alguma substituição simples string com este URL

Usando Canal ID:

"https://www.youtube.com/feeds/videos.xml?channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw"

Usando Nome do Canal:

https://www.youtube.com/feeds/videos.xml?user=LinusTechTips

Tomei a liberdade de analisá-lo para você.

from bs4 import BeautifulSoup
import requests

url="https://www.youtube.com/feeds/videos.xml?user=LinusTechTips"
html = requests.get(url)
soup = BeautifulSoup(html.text, "lxml")

for entry in soup.find_all("entry"):
    for title in entry.find_all("title"):
        print(title.text)
    for link in entry.find_all("link"):
        print(link["href"])
    for name in entry.find_all("name"):
        print(name.text)
    for pub in entry.find_all("published"):
        print(pub.text)

Resposta:

FINALLY Wireless Headphones that Sound GREAT
https://www.youtube.com/watch?v=rei5vMQmD4Q
Linus Tech Tips
2020-01-30T20:04:37+00:00
Don't give Apple your MONEY - Mac Pro Upgrade Adventure
https://www.youtube.com/watch?v=zcLbSCinX3U
Linus Tech Tips
2020-01-29T19:59:56+00:00
We got the Kick-Proof TV from China!
https://www.youtube.com/watch?v=4eSADWuZskk
Linus Tech Tips
2020-01-28T19:46:09+00:00
Everything went wrong... Water Cooled 8K Camera Final Test
https://www.youtube.com/watch?v=OEUCNh5g-2I
Linus Tech Tips
2020-01-27T20:08:27+00:00
I'm Returning my Mac Pro
https://www.youtube.com/watch?v=mIB389tqzCI
Linus Tech Tips
2020-01-26T19:59:45+00:00
The RGB HDMI cable ISN'T as dumb as you'd think...
https://www.youtube.com/watch?v=nva6oPszm60
Linus Tech Tips
2020-01-25T20:06:23+00:00
I am NOT Retiring... yet - WAN Show Jan 24, 2020
https://www.youtube.com/watch?v=cxjhTVR_dJw
Linus Tech Tips
2020-01-25T02:29:50+00:00
The Best VR Headset... got BETTER!?
https://www.youtube.com/watch?v=AGScX_8plYw
Linus Tech Tips
2020-01-23T19:52:00+00:00
I've been thinking of retiring.
https://www.youtube.com/watch?v=hAsZCTL__lo
Linus Tech Tips
2020-01-23T06:35:25+00:00
It’s time to upgrade your GPU - RX 5600 XT
https://www.youtube.com/watch?v=rKn-vWDMkwQ
Linus Tech Tips
2020-01-22T19:59:36+00:00
WE FINALLY DID IT!! - Water Cooling the 8K Camera!
https://www.youtube.com/watch?v=imJ9QgOJHzY
Linus Tech Tips
2020-01-21T19:59:47+00:00
We Water Cooled an SSD!!
https://www.youtube.com/watch?v=lQmI5A27Iv8
Linus Tech Tips
2020-01-20T20:17:22+00:00
Should you buy a $50 CPU??
https://www.youtube.com/watch?v=JISJ_YTI9s0
Linus Tech Tips
2020-01-19T20:19:02+00:00
Apple’s Pro Display XDR – A PC Guy’s Perspective
https://www.youtube.com/watch?v=X089oYPc5Pg
Linus Tech Tips
2020-01-18T19:59:29+00:00
The NSA is Giving Out It's Hacks for Free! - WAN Show Jan 17, 2020
https://www.youtube.com/watch?v=af6FBA-n7eA
Linus Tech Tips
2020-01-18T03:00:04+00:00

No entanto, lembre-se de usar cabeçalhos com seus pedidos e atente para bater backend do YouTube muitas vezes de uma vez porque seu IP receberá uma suspensão 12hr temporária. Melhor da sorte!

Respondeu 30/01/2020 em 23:00
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more