On Fri, Mar 21 2014, Matthias Apitz wrote:

> El día Friday, March 21, 2014 a las 12:44:27PM -0400, Abel Bordón Durán 
> escribió:
>
>> Hola listeros
>> 
>> Acudo a ustedes una vez más con una duda, primero decirles que no se
>> programar casi nada, ahora bien tenía en mi server un script que se
>> encargaba de descargarme el pdf del Granma y el juventud para ponerlo al
>> servicio de mi red y así liberar ancho de banda pero resulta que desde que
>> Granma cambió su portada también cambio la url de descarga del Granma que
>> pone de nombre en el fichero de descarga la fecha + la cantidad de páginas
>> que tiene, lo de la fecha era fácil pues antes estaba así y lo había
>> resuelto utilizando una variable pero ahora no sé cómo ponerle el # de
>> páginas ya que no siempre es constante, entonces mi gran pregunta es cómo
>> hacerlo alguien tiene el mismo servicio montado o sabe cómo hacerlo??
>
> Hola,
>
> He echoo un vistazo y pienso lo hacen mal. Para hoy existen
>
> http://www.granma.cu/file/pdf/2014/03/21/G_2014032101.pdf
> http://www.granma.cu/file/pdf/2014/03/21/G_2014032102.pdf
> http://www.granma.cu/file/pdf/2014/03/21/G_2014032103.pdf
> ...
> http://www.granma.cu/file/pdf/2014/03/21/G_2014032116.pdf
>
> para las páginas sueltas y para todas las páginas en un solo fichero
>
> http://www.granma.cu/file/pdf/2014/03/21/G_2014032117.pdf
>
> Fíjate, hoy viernes, son 16 páginas y llaman el fichero entero
> ....17.pdf en vez de usar otro nombre, hasta dicen en la página en HTML
> ".... completa 17 páginas" -- un error.
>
> Pues, como Granma sale o con 8 o con 16 páginas, puedes bajar el fichero
> ....pdf/yyyy/mm/dd/G_yyyymmdd17.pdf y si esto va, está bien, si no bajas
> ....pdf/yyyy/mm/dd/G_yyyymmdd09.pdf (con 8 páginas) porque será un día
> con 8 páginas.
>
> Mala idea esta. ¿Alguien de Granma.cu lee acá?

Y con la librería requests de Python se puede bajar automático el
documento correcto:

#+BEGIN_SRC python
import datetime
import requests


granma_url_pattern = 
'http://www.granma.cu/file/pdf/{year}/{month:02d}/{day:02d}/G_{year}{month:02d}{day:02d}{page:02d}.pdf'
granma_file_pattern = 'granma_{year}{month:02d}{day:02d}.pdf'


def bajar_granma(fecha):
    for p in (17, 8):
        url = granma_url_pattern.format(year = fecha.year,
                                        month = fecha.month,
                                        day = fecha.day,
                                        page = p)
        r = requests.head(url)
        if r.status_code != 200:
            continue
        print url
        granma_filename = granma_file_pattern.format(year = fecha.year,
                                                     month = fecha.month,
                                                     day = fecha.day)
        r = requests.get(url, stream=True)
        with open(granma_filename, 'wb') as fd:
            for chunk in r.iter_content(1024):
                fd.write(chunk)
        break


bajar_granma(datetime.datetime.now())
#+END_SRC

Desde el «shell» se debe poder hacer con la librería LWP (libwww-perl)
instalada con los comandos HEAD y GET.

Servilio

-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que est� limpio.

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a