Pino bio photo

Pino

I (infrequently) blog about data science, business intelligence, big data, web technologies and free software.

Twitter LinkedIn

Ayer os comentaba el método que utilizo para autodescargar series, pero como no domino demasiado el inglés suelo necesitar también subtítulos para ver las series.

Existen programas que automáticamente los descargan como SubDownloader, sin embargo, no he conseguido buenos resultados con ellos. Por lo tanto, he tenido que idear un método para descargarlos.

Actualización: he publicado otra entrada sobre cómo autodescargar subtítulos de Subtitulos.es

Crear el feed con Yahoo Pipes

No existen demasiados feeds de los que descargar subtítulos por desgracia. En español podemos encontrar los de ArgenTeam y en múltiples idiomas (yo los descargo en inglés) el sitio más actualizado es TVsubtitles.

TVsubtitles nos ofrece un feed con los últimos subtítulos del idioma deseado, por lo que tendremos que filtrar únicamente aquellos que nos interesan. Para ello, Yahoo tiene una herramienta maravillosa llamada Pipes que te permite manipular feeds.

Para hacer el filtro con las series que tú desees, copia mi pipe y sustituye las reglas de filtrado que yo he utilizado por las tuyas propias. Mi pipe utiliza el feed de subtítulos en inglés, si lo deseas en otro idioma, cámbialo.

En todos los casos selecciono aquellos subtítulos que contienen el nombre de la serie, excepto con House que al ser una palabra muy común empleo una expresión regular para seleccionar únicamente los que empiecen por esa palabra.

Yahoo Pipes

Script para autodescargar subtítulos

Una vez que tenemos el feed con los subtítulos deseados tenemos que encontrar un programa que los autodescargue. Yo no encontré ninguno y me creé mi propio script en Python que, además de descargar los subtítulos, los descomprime.

Como se puede observar, los pasos seguidos por el script son:

  1. Descarga el feed del pipe que utilizo

  2. Descarga los ficheros con wget

  3. Los descomprime con unzip

  4. Borra los ficheros comprimidos.

# -*- coding: utf-8 -*-
#!/usr/bin/python

import feedparser
import os
import re

url = 'http://pipes.yahoo.com/pipes/pipe.run?_id=61df00fe888ac82a512b4a8dac1cc5de&_render=rss'
feed = feedparser.parse(url)
print feed["channel"]["title"]

for item in feed["entries"]:
 file_url = item["enclosures"][0]["href"]
 print file_url
 os.system('wget -nc ' + file_url)

ficherosZip = os.listdir('.')

for i in ficherosZip:
 if re.search('\.zip$', i):
 os.system('unzip -o "' + i + '"')
 os.system('rm "' + i + '"')

Este código necesita feedparser, desde las distribuciones debian se puede descargar mediante:

sudo apt-get install python-feedparser

Los subtítulos a veces desaparecen rápidamente del feed, por lo que es recomendable programar el script para que se ejecute cada cierto tiempo. Yo empleo Gnome Schedule para ello.

Páginas para descargar subtítulos

Si no conseguimos descargarlos automáticamente (rara vez pasa) o preferimos el método manual, algunas páginas interesantes para descargar subtítulos son: