KAPITALSIN

JUEGOS/SOFTWARE/HARDWARE => SOFTWARE => Mensaje iniciado por: Fl0ppy en 17 de Marzo de 2016, 02:42:10 pm

Título: Descargas automaticas de series con linux/raspberry
Publicado por: Fl0ppy en 17 de Marzo de 2016, 02:42:10 pm
 :muahaha:

Por si alguien algún día se anima y lo quiere probar

http://informaticamateur.blogspot.com/2014/05/descargas-automaticas-de-series-con.html

Actualizo para corregir algunas cosas y dejar funcionando sin problemas la descarga con newpct en español.
- - - - -

Aprovechando el consumo eléctrico ridículo de la raspberry y que se queda encendida la mayor parte del tiempo, busque algo que tenia muchas ganas desde hace tiempo. Que las series que me gustan se bajen solas nada mas que sale un capitulo.

Para ello hacemos uso de una tecnología no muy conocida, RSS, de un programa que gestione esta información que le entra y de otro programa que descargue los datos.

Para el que no lo conozla la tecnología RSS, es similar a ver los titulares de un periódico y si nos interesa podemos acceder al mismo para ver más información, es algo que muchos medios (periódicos, blogs, foros) utilizan, pero poca gente usa y son tremendamente utiles. Ya que de un vistazo puedes ver y guardar los titulares que te interesan, si lo has visto previamente o no, en el instante que publique este post, aparecerá una nueva entrada RSS a mis seguidores. Pues aplicar eso a una pagina de descarga de torrents.

Tras esta explicación y mi voto para que investiguéis las RSS de vuestros medios favoritos, vamos a meternos en faena.

El sistema no es perfecto, depende de los títulos que se ponga en el rss, pero si puede ahorrarnos buscar algunas series muy famosas, y como nos manda un correo con lo que ha descargado no habrá problemas en buscar nosotros el resto. Ademas mete en una base de datos lo que se ha bajado, por lo que no vuelve a bajarse el mismo archivo.

Necesitamos instalar:

0) El transmision:
http://informaticamateur.blogspot.com.es/2014/04/instalar-cliente-de-bittorrent-en.html

Aunque vamos  a usar tecnologia bittorrent, hay multiples plugins de descarga, descarga directa con pyload, ftp, etc..
http://flexget.com/wiki/Plugins#Outputs

1) Instalar pip:



   

sudo apt-get install python-pip python-mechanize

2) Instalar flexget:


   


sudo pip install flexget

3) Verificar la instalación:



   

flexget -V

4) Actualizar el módulo python de transmission (este paso no sale en la página de instalación de flexget, pero si no lo hacéis el script os dará un error tipo “Transmissionrpc module version 0.6 or higher required”)


   
sudo easy_install --upgrade transmissionrpc

5) Crear la carpeta flexget


   

sudo mkdir /home/pi/.flexget

6) Cambiar los permisos de la carpeta flexget al usuario pi en lugar de a root (si no os dará un error de acceso):


   
sudo chown -R pi /home/pi/.flexget
sudo chgrp -R pi /home/pi/.flexget
7) Debemos indicar la fuente de RSS desde donde nos queremos descargar las series :
En castellano: Registrarse en http://www.newpct.com/
Para acceder a la página de newpct hay que instalar también, para que se pueda logar en el login de newpct, esto ya l ohemos instalado cuando instalamos el flexget, pero si no lo habéis hecho, os hará falta:

sudo easy_install mechanize


En ingles: Tener una cuenta en http://showrss.info/ --> id a feeds=>your feed address => generate. Apuntad el numero que aparece en la url del feed después de http://showrss.karmorra.info/rss.php?user_id= Ese es vuestro ID de usuario de showrss


8) Entrad al editor para escribir el script de configuración de flexget:
nano /home/pi/.flexget/config.yml
9) Según la series que queramos y la página que escojáis tendremos un fichero de configuración diferente.
A)La primera parte donde se indica email. El programa nos envía un correo con lo que haya encontrado y vaya a descargar, es opcional. Aunque tendréis que buscar un correo diferente a gmail para enviar datos.
B) series_sigo: es la tarea que va a hacer, se baja las series de la página rss que le digáis, y como veis he puesto arrow en calidad inferior a 720p y big ban theory en calidad de 720p . Consultar esta página para ver que más parámetros podéis usar http://flexget.com/wiki/Plugins/quality
C) Transmission, donde se encuentra transmission y cual es su usuario y contraseña para meter los torrent a bajar directamente
D)SOLO si usais newpct, Encontraba los torrent, pero no hacia nada y me decía que podía ser un error de login, investigando di como hacer login automático en la página con la sección form. Vosotros nada más que tenéis que cambiar el usuario y password que hayáis creado para la página.

templates:
  espanol:
    series:
      - Arrow:
          sequence_regexp: Cap.(\d+)
          quality: <720p br="">      - The Big Bang Theory:
          sequence_regexp: Cap.(\d+)
          quality: 720p
tasks:
  series_sigo:
    rss: http://feeds2.feedburner.com/newpctorrent
    regexp:
      reject:
        - V.O. Subt. Castellano
    template: espanol
    transmission:
      host: 192.168.1.104
      port: 9091
      ratio: 10
      path: /media/Torrent/descargas/flexget
      skip_files:
        - '*.nfo'
        - '*.sfv'
        - '[sS]ample*'
        - '*.txt'
        - '*.url'
        - '*.html'
        - '*.htm'
    form:
      url: http://www.newpct.com/entrar/
      userfield: userName
      passfield: userPass
      username: TU_USUARIO
      password: TU_CLAVE
 
Este es mi fichero actualmente, no tengo nada de envio de email, porque ahora con gmail no funciona porque han cambiado la api. Y especial atención hay que darle a:
regexp:
      reject:
        - V.O. Subt. Castellano

En newpct se cuelga las series en ingles y español, y normalmente en ingles van mas adelantado, así que, como me interesa el contenido en español, esa linea me rechaza todas las entradas en ingles. Si queréis seguir otros patrones, ahí debéis cambiarlo, porque restringe los que os bajéis.




Ahora queda que se ejecute de vez en cuando para ver si hay archivos nuevos. Eso lo hacemos con el crontab, para ejecutarlo usamos:

 

crontab -e

 

E introducimos la linea que necesitemos:
Esta linea es para que se ejecute cada hora
@hourly /usr/local/bin/flexget --cron
Esta otra es para que se ejecute cada 2 horas desde las 8:00 hasta las 14:00, y a las 0:00 también, es lo que tengo yo, que ademas aprovecho que son horas que la conexión no se esta usando para que descargue.

00 8,10,12,14,0 * * * /usr/local/bin/flexget execute

COMANDOS ÚTILES
(Estos comandos se utilizan directamente en la consola)

Para borrar la base de datos completa:
Este comando no pide confirmación, lo hace y punto.

flexget database reset --sure


Para borrar una serie:
flexget series forget arrow

Para listar las series que tenéis, porque capitulo va, cuanto hace desde que se bajo el ultimo, y la calidad:
flexget series list

Para añadir películas
Hay dos metodos, primero, por el nombre:

flexget movie-queue add legion "720p bluray"

 

Segundo, por el código único que asigna imdb.com

flexget movie-queue add imdb_id=tt1038686 "720p bluray"


Para listar las peliculas que hemos incluido:

flexget movie-queue list

 

Para borrar una de las peliculas

flexget movie-queue del "legion"

Para borrar la lista entera

flexget movie-queue clear



RECOMENDACIONES
Es muy muy muy pejiguera con la indentación en el fichero de configuración, esto es la forma del fichero, tiene que haber dos espacio en blanco entre una cabecera y un parámetro. Ejemplo, form y justo debajo esta url, y esta 2 espacio en blanco a la derecha, si no daría error.
El fichero tampoco permite tabulaciones ni casi ningún otro carácter.

Habrá que pelearse mucho con el fichero de configuración para chequear que esta correcto, para comprobar que el fichero esta correcto:

flexget check


Y para hacer una simulación del programa, se ejecuta pero no llega a descargar nada:

flexget --test execute


Para lanzarlo quitarmos el --test

flexget execute


Mantener actualizado el flexget, mediante el comando:

sudo pip install --upgrade flexget


Luego si te da errores, como "ImportError: No module named pkg_resources", debes usar:

sudo apt-get install --reinstall python-pkg-resources


Y se corregira.

fuente:
http://raspberryfacil.com/10-descargar-series-automaticamente-con-flexget-transmission/