Moin zusammen,
ich möchte den Link zum Video und Untertitel der Seite http://www.rtve.es/drmn/embed/video/3886778/ auslesen.
Da Javascript im Spiel ist, reicht ein einfaches Auslesen des html-Codes nicht aus.
Um den finalen Seitenquelltext zu erhalten, muß man auf das Bild klicken. Anscheinend erscheint ein Werbespot, der sich mit einem Klick rechts oben auf den entsprechenden Kasten ("Saltar promocion") nach 3 Sekunden überspringen läßt. Erst danach erhält man die finale Seite geliefert.
Ich muß also irgendwie diese zwei Mausklicks unter Selenium nachbilden.
Was muß ich dazu tun?
Mein Code unter Phyton 2.7.13 und Windows 8.1 pro 64-bit sieht zur Zeit wie folgt aus:
from selenium import webdriver
import time
import requests
import os
from bs4 import BeautifulSoup
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.PhantomJS(service_log_path=os.path.devnull)
driver.get('http://www.rtve.es/drmn/embed/video/3886778/')time.sleep(3)
print driver.title
driver.save_screenshot('out.png')
Alles anzeigen
Das funktioniert soweit, ich erhalte den Seitentitel und ein korrektes Bild.
Mein erster Versuch bestand darin, den 'Play-Button' zu lokalisieren und darauf "zu klicken". Das scheint aber gar nix zu ändern.
Außerdem habe ich noch folgendes probiert, ebenfalls erfolglos:
el=driver.find_element_by_xpath("//*[@id='embed']/div/a/span/img")
action = webdriver.common.action_chains.ActionChains(driver)
action.move_to_element_with_offset(el, 5, 5)
action.click()
action.perform()
===> Hat jemand irgendeine Idee wie ich die gewünschten Informationen erhalte ?
Im finalen Dokument sind folgende Angaben enthalten (die .vtt-Datei weist ein srt-Format auf):
[font='Consolas, "']<video id="9455815513_html5_api" class="vjs-tech" preload="auto" autoplay="" src="http://mvod.lvlt.rtve.es/resources/TE_G…85475369464.mp4" >
<p class="vjs-no-js">Para poder reproducir este contenido por favor habilite javascript en su navegador, y considere actualizar su navegador a uno que <a href="http://videojs.com/html5-video-support/" target="_blank" class="vjs-hidden" hidden="hidden">soporte HTML 5</a></p>
<track kind="subtitles" label="es" srclang="es" src="/servicios/subtitulos/vtt/2015/1485507150340.vtt"></video>[/font]