Hier ist mein aktueller Code. Ich bin mir nicht sicher, was ich falsch mache. Vielleicht graben wir nicht tief genug im HTML und geben Beautifulsoup die richtigen Tags? Im Moment gibt mein Code mir Leerzeichen zurück.Wie Web-Schrott youtube Transkripte mit Beautifulsoup4 und Python 3
from bs4 import BeautifulSoup
from urllib.request import urlopen
html = urlopen("https://www.youtube.com/watch?v=5_zrHZdhaBU")
soup = BeautifulSoup(html,'html.parser')
nameList = soup.findAll("div", {"id": "cp-2"})
for name in nameList:
print(name.get_text())
Hier ist der Code, den ich inspiziert habe. Ich versuche, Python zu bekommen, um mich, um wieder zurück „aber es war untucked“
<div id="cp-2" class="caption-line" data-time="7.54"><div class="caption-line-time">0:07</div><div class="caption-line-text">but it was untucked.</div></div>
*** bearbeiten
Der Code kann durch einen Klick auf „mehr“ neben der Share-Taste zu finden. Dann klicken Sie auf Transkripte und Sie werden den ganzen Text dort sehen.
Ich kann diese Zeile auf der Seite und in den HTML-Code finden. Was ist diese Linie? –
Sind Sie sicher, dass dies nicht dynamisch über Ajax geladen wird? Öffnen Sie die Seitenquelle, da in der statischen Quelle möglicherweise kein solches Element vorhanden ist. –
@Yevhen Kuzmovych Wenn Sie auf die Youtube-Seite gehen, gibt es eine Schaltfläche "mehr" neben zu teilen. Klicken Sie darauf und dann auf Abschriften. Es ist Linie 0:07. –