Closed ismanastic closed 10 years ago
A ver si alguien se anima a programar vertele. De momento con este script:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import xml.etree.ElementTree
if __name__ == "__main__":
search = requests.get('http://vms.api.qbrick.com/rest/v3/search/B4815C84/Desenlace')
xmltree = xml.etree.ElementTree.fromstring(search.content)
for i, item in enumerate(xmltree.iterfind('./media/')):
vid_name = item.find('./title').text.encode('utf8')
substream = item.find('./playlist/stream/format/substream').text.encode('utf8')
sub = requests.get(substream)
xmltree2 = xml.etree.ElementTree.fromstring(sub.content)
meta = xmltree2.find('./head/meta').attrib["base"].encode('utf8').split("/")[-2]
src = xmltree2.find('./body/switch/video').attrib["src"].encode('utf8').split("mp4:")[1:][0]
bitrate = str(int(xmltree2.find('./body/switch/video').attrib["system-bitrate"].encode('utf8'))/1000)
url2down = "http://www0.c03837.cdn.qbrick.com/%s/%s.mp4" % (meta, src.replace(' ', '%20').replace(bitrate,'aos'))
if i==0:
print "| TITLE | URL | SMIL |"
print "| ----- | --- | ---- |"
else:
print "| %s | %s | %s |" % (vid_name, url2down, substream)
Sacas las urls de desenlace en SD:
Dejo la url de SMIL también para el que quiera intentar hacer dump del rtmp para una mayor calidad.
Saludos.
Eres un genio! No sé cómo lo has hecho, pero esta tarde me pongo al lío :P
Hola, tengo un problema. Uno de los vídeos está repetido...y precisamente el que falta es el último de la serie llamado "El suicida". Sería posible conseguirlo?
ups! un bug en el script, que arreglado quedaría:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import xml.etree.ElementTree
if __name__ == "__main__":
search = requests.get('http://vms.api.qbrick.com/rest/v3/search/B4815C84/Desenlace')
xmltree = xml.etree.ElementTree.fromstring(search.content)
for i, item in enumerate(xmltree.iterfind('./media/')):
vid_name = item.find('./title').text.encode('utf8')
substream = item.find('./playlist/stream/format/substream').text.encode('utf8')
sub = requests.get(substream)
xmltree2 = xml.etree.ElementTree.fromstring(sub.content)
meta = xmltree2.find('./head/meta').attrib["base"].encode('utf8').split("/")[-2]
src = xmltree2.find('./body/switch/video').attrib["src"].encode('utf8').split("mp4:")[1:][0]
bitrate = str(int(xmltree2.find('./body/switch/video').attrib["system-bitrate"].encode('utf8'))/1000)
url2down = "http://www0.c03837.cdn.qbrick.com/%s/%s.mp4" % (meta, src.replace(' ', '%20').replace(bitrate,'aos'))
if i==0:
print "| TITLE | URL | SMIL |"
print "| ----- | --- | ---- |"
print "| %s | %s | %s |" % (vid_name, url2down, substream)
Y cuya ejecución daría:
Donde ya está el suicida. Sorry. Saludos.
A petición a través de email dejo esto aquí:
vertele.py:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import re
import requests
import xml.etree.ElementTree
if __name__ == "__main__":
url = sys.argv[1]
content = requests.get(url).content
vids = re.findall("src=[\'\"](.*Embed.aspx.*?)[\'\"]", content)
for i, v in enumerate(vids):
mcid = re.findall("mcid=(.*?)&", v)[0]
apiEndpoint = "http://vms.api.qbrick.com/rest/v3/getsingleplayer/%s?statusCode=xml" % (mcid)
xmlResponse = requests.get(apiEndpoint)
xmltree = xml.etree.ElementTree.fromstring(xmlResponse.content)
vid_name = xmltree.find('./media/item/title').text.encode('utf8')
substream = xmltree.find('./media/item/playlist/stream/format/substream').text.encode('utf8')
xmlResponse2 = requests.get(substream)
xmltree2 = xml.etree.ElementTree.fromstring(xmlResponse2.content)
meta = xmltree2.find('./head/meta').attrib["base"].encode('utf8').split("/")[-2]
src = xmltree2.find('./body/switch/video').attrib["src"].encode('utf8').split("mp4:")[1:][0]
bitrate = str(int(xmltree2.find('./body/switch/video').attrib["system-bitrate"].encode('utf8'))/1000)
url2down = "http://www0.c03837.cdn.qbrick.com/%s/%s.mp4" % (meta, src.replace(' ', '%20').replace(bitrate,'aos'))
if i==0:
print "| TITLE | URL | SMIL |"
print "| ----- | --- | ---- |"
print "| %s | %s | %s |" % (vid_name, url2down, substream)
Lanzando:
./vertele.py "http://www.vertele.com/noticias/los-protagonistas-de-el-principe-avanzan-el-final-tragico-que-quieren-y-las-burradas-que-les-dicen-los-fans/"
Se obtiene:
Saludos.
Hola, como PyDown solo descarga vídeos de webs de televisión, no permite descargar esa serie inédita que ha puesto Vertele en su web. Sabéis si podéis hacer alguna modificación al programa para poder descargarla? Gracias!