[Aporte][Python]Linux Magazine Downloader v1.0

Iniciado por electrodev, 9 Agosto 2013, 00:08 AM

0 Miembros y 1 Visitante están viendo este tema.

electrodev

Hola gente la pasada noche me dio por codeamer un downloader para los articulos de todos los numeros de Linux Magazine que son publicos (1-82) a día de hoy, ya que me parece extremadamente pesado descargar uno por uno todos los articulos. Lo programe bajo windows pero cambiando un par de comandos debe funcionar 100% en linux, no me pregunten porque descargo revistas de linux desde un windows xD.Ni que decir tiene que el codigo es ampliamente mejorable, pero bueno funciona.

#!python
#Linux Magazine Downloader v1.0 (cc)7/8/13
#Create by: Eduardo97

import urllib2,os

url = "http://www.linux-magazine.es/issue/"

start_magazine = 1

for i in range(start_magazine,83):
  if len(str(i)) > 1:
      i = str(i)
  else:
      i = "0" + str(i)
  os.system("md "+i)
  os.system("copy wget.exe "+i)
  req = urllib2.Request(url+i)
  response = urllib2.urlopen(req)
  html = response.read()
  f = open("html.txt", "w")
  f.write(html)
  f.close()
 
  os.system("cd "+i+" & wget.exe "+url+"/"+i+"/LinuxMagazineCover_XXL.jpg & ren LinuxMagazineCover_XXL.jpg portada.jpg")
  f = open("html.txt", "r")
  for line in f:
      if line.find(".pdf") >= 0:
         try:
            doc = line.split('<a href="')[1]
            doc = doc.split('">')[0]
            os.system("cd "+i+" & wget.exe "+url+"/"+i+"/"+doc)
         except:
            pass
      else:
         pass
  f.close()
  os.system("cd "+i+" & del wget.exe")
os.system("del html.txt")


Para que funcione es necesario tener el wget para windows en la misma carpeta donde esta el script, lo pueden descargar aquí: http://users.ugent.be/~bpuype/wget/. Para hacerlo funcionar les aconsejo que creen una carpeta dónde ponen el script y el wget, luego solo ejecutan el script y el solo les ira creando carpetas correspondientes a cada numero con los artículos y la portada de ese numero dentro.Si quieren que descarge a partir del un numero determinado solo cambien el numero de la variable "start_magazine", esto es útil para por si apagan el pc y luego quieren continuar donde lo dejaron.Para migrar el script a linux cambien los comandos de consola windows por los de linux:  & = ; , md = mkdir , rem = mv , quiten el .exe al wget y las lineas "os.system("copy wget.exe "+i) y os.system("cd "+i+" & del wget.exe")" . No lo he probado en linux pero deberia funcionar.

Espero que el script les funcione y les sea de ayuda.

Un Salu2