2017-09-07 6 views
1

Ich mache ein Projekt, wo ich das Datum speichern muss, dass ein Video in youtube veröffentlicht wurde.
Das Problem ist, dass ich einige Schwierigkeiten versucht habe, diese Daten in der Mitte des HTML-QuellcodeWeb Scrapping youtube mit Python 3

Hier Versuch, meinen Code zu finden:

import requests 
from bs4 import BeautifulSoup as BS 

url = "https://www.youtube.com/watch?v=XQgXKtPSzUI&t=915s" 
response = requests.get(url) 
soup = BS(response.content, "html.parser") 
response.close() 

dia = soup.find_all('span',{'class':'date'}) 
print(dia) 

Ausgang:

[] 

Ich weiß, dass die Argumente, die ich an .find_all() sende, falsch sind.
Ich sage das, weil ich andere Informationen aus dem Video mit dem gleichen Code wie dem Titel und den Ansichten speichern konnte.
Ich habe verschiedene Argumente bei der Verwendung .find_all() versucht, aber nicht herausgefunden, wie Sie es finden.

+0

Haben Sie die YouTube-API getestet? – SLaks

+0

Ich tat es nicht. Wie ist das? Ich bin ziemlich neu auf Python auch ... –

+1

gibt es kein Beispiel html; Vielleicht möchten Sie das durchforschen und sicherstellen, dass Ihr Aufruf find_all tatsächlich mit dem HTML-Code übereinstimmt. Das ist hier wirklich die einzige Antwort. Andernfalls schreiben wir Code, der für ein Szenario sehr spezifisch ist. –

Antwort

0

Es scheint, dass YouTube Javascript verwendet, um das Datum hinzuzufügen, so dass Informationen nicht im Quellcode enthalten sind. Sie sollten versuchen, Selenium zu verwenden, um zu kratzen, oder das Datum von der js zu erhalten, da es direkt im Quellcode ist.

+0

Danke, ich werde es versuchen –

Verwandte Themen