@ -1,5 +1,5 @@
from . common import InfoExtractor
from . . utils import strip_jsonp, unified_strdat e
from . . utils import traverse_obj, str_or_none , url_or_non e
class ElPaisIE ( InfoExtractor ) :
@ -7,34 +7,24 @@ class ElPaisIE(InfoExtractor):
IE_DESC = ' El País '
_TESTS = [ {
' url ' : ' http://blogs.elpais.com/la-voz-de-inaki/2014/02/tiempo-nuevo-recetas-viejas.html ' ,
' md5 ' : ' 98406f301f19562170ec071b83433d55 ' ,
' info_dict ' : {
' id ' : ' tiempo-nuevo-recetas-viejas ' ,
' ext ' : ' mp4 ' ,
' title ' : ' Tiempo nuevo, recetas viejas ' ,
' description ' : ' De lunes a viernes, a partir de las ocho de la mañana, Iñaki Gabilondo nos cuenta su visión de la actualidad nacional e internacional. ' ,
' upload_date ' : ' 20140206 ' ,
} ,
} , {
' url ' : ' http://elcomidista.elpais.com/elcomidista/2016/02/24/articulo/1456340311_668921.html#?id_externo_nwl=newsletter_diaria20160303t ' ,
' md5 ' : ' 3bd5b09509f3519d7d9e763179b013de ' ,
' url ' : ' http://elpais.com/elpais/2017/01/26/ciencia/1485456786_417876.html ' ,
' md5 ' : ' cd8cba33f974f69ed82df788ad43eef8 ' ,
' info_dict ' : {
' id ' : ' 14 56340311_668921 ' ,
' id ' : ' 1485456786_417876 ' ,
' ext ' : ' mp4 ' ,
' title ' : ' Cómo hacer el mejor café con cafetera italiana ' ,
' description ' : ' Que sí, que las cápsulas son cómodas. Pero si le pides algo más a la vida, quizá deberías aprender a usar bien la cafetera italiana. No tienes más que ver este vídeo y seguir sus siete normas básicas. ' ,
' upload_date ' : ' 20160303' ,
' title ' : ' Hallado un barco de la antigua Roma que naufragó en Baleares hace 1.800 años ' ,
' description ' : ' Un submarinista contempla el pecio de Cabrera, que contiene cientos de ánforas ' ,
' thumbnail ' : ' https://imagenes.elpais.com/resizer/v2/https % 3A %2F %2F ep01.epimg.net %2F elpais %2F imagenes %2F 2017 %2F 01 %2F 26 %2F ciencia %2F 1485456786_417876_1485523827_noticia_fotograma.jpg?auth=b9ed873402809633a5ac8bc154dcd13e468547d34bbd82e0808f9e2813eb7542&width=1960&height=1103&smart=true ' ,
} ,
} , {
' url ' : ' http ://elpais.com/elpais/2017/01/26/ciencia/1485456786_417876 .html' ,
' md5 ' : ' 9c79923a118a067e1a45789e1e0b0f9c ' ,
' url ' : ' https://elpais.com/gastronomia/el-comidista/2024-07-16/la-ensalada-de-pasta-mas-verde.html ' ,
' md5 ' : ' 3db968bf1d29b8fa723fd8cfb30d5d28 ' ,
' info_dict ' : {
' id ' : ' 1485456786_417876 ' ,
' id ' : ' la-ensalada-de-pasta-mas-verde ' ,
' ext ' : ' mp4 ' ,
' title ' : ' Hallado un barco de la antigua Roma que naufragó en Baleares hace 1.800 años ' ,
' description ' : ' La nave portaba cientos de ánforas y se hundió cerca de la isla de Cabrera por razones desconocidas ' ,
' upload_date' : ' 20170127 ' ,
' title ' : ' La ensalada de pasta más verde | EL COMIDISTA ' ,
' description ' : ' La ensalada de pasta más verde | EL COMIDISTA ' ,
' thumbnail' : ' https://imagenes.elpais.com/resizer/v2/B4O2NY6B2FCE7KWOMO2CJH7FYQ.png?auth=bea914a842eba835a6ea92169acb94b977c5fe3a4564b2b69ef27ac9e7199668&width=1960&height=1103&smart=true ' ,
} ,
} , {
' url ' : ' http://epv.elpais.com/epv/2017/02/14/programa_la_voz_de_inaki/1487062137_075943.html ' ,
@ -42,51 +32,22 @@ class ElPaisIE(InfoExtractor):
' id ' : ' 1487062137_075943 ' ,
' ext ' : ' mp4 ' ,
' title ' : ' Disyuntivas ' ,
' description ' : ' md5:a0fb1485c4a6a8a917e6f93878e66218 ' ,
' upload_date ' : ' 20170214 ' ,
} ,
' params ' : {
' skip_download ' : True ,
' description ' : ' md5:0d538b71b6c2ec519fd7899811fb3f23 ' ,
' thumbnail ' : ' https://imagenes.elpais.com/resizer/v2/https % 3A %2F %2F ep01.epimg.net %2F elpais %2F imagenes %2F 2017 %2F 02 %2F 14 %2F videos %2F 1487058850_493037_1487059369_noticia_fotograma.jpg?auth=1e1691499249851785dadbec92da3bfacdfef6cf6404845599c0c9295271d9e4&width=1960&height=1103&smart=true ' ,
} ,
} ]
def _real_extract ( self , url ) :
video_id = self . _match_id ( url )
webpage = self . _download_webpage ( url , video_id )
prefix = self . _html_search_regex (
r ' var \ s+url_cache \ s*= \ s* " ([^ " ]+) " ; ' , webpage , ' URL prefix ' )
id_multimedia = self . _search_regex (
r " id_multimedia \ s*= \ s* ' ([^ ' ]+) ' " , webpage , ' ID multimedia ' , default = None )
if id_multimedia :
url_info = self . _download_json (
' http://elpais.com/vdpep/1/?pepid= ' + id_multimedia , video_id , transform_source = strip_jsonp )
video_suffix = url_info [ ' mp4 ' ]
else :
video_suffix = self . _search_regex (
r " (?:URLMediaFile|urlVideo_ \ d+) \ s*= \ s*url_cache \ s* \ + \ s* ' ([^ ' ]+) ' " , webpage , ' video URL ' )
video_url = prefix + video_suffix
thumbnail_suffix = self . _search_regex (
r " (?:URLMediaStill|urlFotogramaFijo_ \ d+) \ s*= \ s*url_cache \ s* \ + \ s* ' ([^ ' ]+) ' " ,
webpage , ' thumbnail URL ' , default = None )
thumbnail = (
None if thumbnail_suffix is None
else prefix + thumbnail_suffix ) or self . _og_search_thumbnail ( webpage )
title = self . _html_search_regex (
( r " tituloVideo \ s*= \ s* ' ([^ ' ]+) ' " ,
r ' <h2 class= " entry-header entry-title.*?>(.*?)</h2> ' ,
r ' <h1[^>]+class= " titulo " [^>]*>([^<]+) ' ) ,
webpage , ' title ' , default = None ) or self . _og_search_title ( webpage )
upload_date = unified_strdate ( self . _search_regex (
r ' <p class= " date-header date-int updated " \ s+title= " ([^ " ]+) " > ' ,
webpage , ' upload date ' , default = None ) or self . _html_search_meta (
' datePublished ' , webpage , ' timestamp ' ) )
video_info = self . _search_json_ld ( webpage , video_id )
return {
' id ' : video_id ,
' url ' : video_url ,
' title ' : title ,
' description ' : self . _og_search_description ( webpage ) ,
' thumbnail ' : thumbnail ,
' upload_date ' : upload_date ,
* * traverse_obj ( video_info , {
' title ' : ( ' title ' , { str_or_none } ) ,
' url ' : ( ' url ' ) ,
' thumbnail ' : ( ' thumbnails ' , 0 , ' url ' , { url_or_none } ) ,
' description ' : ( ' description ' , { str_or_none } ) ,
} ) ,
}