Re: [Python-es] Otaku script

2013-02-12 Por tema Alexandro Colorado
2013/2/12 Chema Cortes pych...@gmail.com

 El 12 de febrero de 2013 06:24, Alexandro Colorado j...@oooes.orgescribió:

 Hola, no se cuanto fan de Anime y Manga Japonesa haya por aqui, pero tengo
 un script que jala del sitio http://www.mangareader.net/

 comics usando python, curl y beautifulsoup. Estas imagenes las mete en un
 folder que crea y titula como el comic.


 No veo que preguntes nada en concreto, así que sólo pondré algunos
 comentarios:


La pregunta es mas de deciones, seria mejor tener una clase o una serie de
condicionales para que pueda trabajar el sitio de manera transparente?




 Veo que este proyecto lo tenías parado durante 2 años. Supongo que es por
 éso que tengas desactualizado el BeautifulSoup, que anda por la versión 4.
 Por otro lado, las mejoras de las que hablas no parecen complicadas de
 implementar. Ya dirás si has encontrado algún problema.

 Tengo un proyecto[1] parecido para descargar ebooks de páginas webs.
 Utilizo la infraestructura facilitada por calibre, una utilidad bastante
 popular, hecha en python, que sirve para catalogar y transformar libros
 electrónicos (incluyendo los formatos cbr y cbz, entre otros muchos). Entre
 otras características, mis scripts trabajan en multihilo, lo que mejora
 bastante los tiempos de descarga, y es capaz de bajar los metadatos para
 incorporalos al catálogo del calibre. No creo que te sirvan de mucho mis
 scripts para mejorar el tuyo, pero sí que vería factible aprovecharlo para
 crear un nuevo scrap para el mío. Tendría que estudiarlo.


 [1]: http://hg.ch3m4.org/calibre-scrap calibre-scrap



 --
 Hyperreals *R: http://ch3m4.org/blog
 Quarks, bits y otras criaturas infinitesimales

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/




-- 
Alexandro Colorado
Apache OpenOffice Contributor
http://es.openoffice.org
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Otaku script

2013-02-12 Por tema Chema Cortes
El 12 de febrero de 2013 10:54, Alexandro Colorado j...@oooes.org escribió:


 2013/2/12 Chema Cortes pych...@gmail.com

 El 12 de febrero de 2013 06:24, Alexandro Colorado j...@oooes.orgescribió:

 Hola, no se cuanto fan de Anime y Manga Japonesa haya por aqui, pero
 tengo un script que jala del sitio http://www.mangareader.net/

 comics usando python, curl y beautifulsoup. Estas imagenes las mete en
 un folder que crea y titula como el comic.


 No veo que preguntes nada en concreto, así que sólo pondré algunos
 comentarios:


 La pregunta es mas de deciones, seria mejor tener una clase o una serie de
 condicionales para que pueda trabajar el sitio de manera transparente?


No es fácil trabajar con condicionales. Las dos webs pueden requerír
distintas estrategias para extraer la información e implementar ésto con
condicionales es muy farragoso. Mucho más adecuado es darle una orientación
a objetos, con un script principal que lleve la lógica de la extracción de
datos y luego varias clases con el método de extracción específico para
cada web.

Mi recomendación es que te construyas una API sencilla con la que se
comuniquen el método principal y los scrappers. Esta API iría como una
clase abstracta de la cuál derivarían las clases para los scrappers.



-- 
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Correccion programa

2013-02-12 Por tema Carlos Zuniga
2013/2/11 kurokysan kuroky...@gmail.com:
 Buenas noches companeros, les publico este codigo que he realizado con el
 objetivo de monitorear si un equipo de red se encuentra online. Las
 modificaciones que quisiera que me ayudaran es como hacer para que los
 destinatarios se tomen desde un archivo macct.txt. Otra cosa seria como

Asumiendo que macct.txt tiene el formato correcto para el campo To del
correo, lo lees con `mlist = macct.read()` y lo usas en sendmail:

mailServer.sendmail(kuroky...@gmail.com, mlist, msg.as_string())

 podria lograr que la salida que da este script por pantalla se pueda
 adjuntar al cuerpo del correo.

Guarda lo que quieres mostrar por pantalla en una variable, lo
imprimes y luego la utilizas para crear tu objeto MIMEText.

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Correccion programa

2013-02-12 Por tema Kennedy Sanchez
Carlos, lo hice de esa forma...pero al devolverlo como una lista, me da
error. la salida se ve asi, kuroky...@gmail.com\n


El 12 de febrero de 2013 14:08, Carlos Zuniga carlos@gmail.comescribió:

 2013/2/11 kurokysan kuroky...@gmail.com:
  Buenas noches companeros, les publico este codigo que he realizado con el
  objetivo de monitorear si un equipo de red se encuentra online. Las
  modificaciones que quisiera que me ayudaran es como hacer para que los
  destinatarios se tomen desde un archivo macct.txt. Otra cosa seria como

 Asumiendo que macct.txt tiene el formato correcto para el campo To del
 correo, lo lees con `mlist = macct.read()` y lo usas en sendmail:

 mailServer.sendmail(kuroky...@gmail.com, mlist, msg.as_string())

  podria lograr que la salida que da este script por pantalla se pueda
  adjuntar al cuerpo del correo.

 Guarda lo que quieres mostrar por pantalla en una variable, lo
 imprimes y luego la utilizas para crear tu objeto MIMEText.

 Saludos
 --
 A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
 de leer manuales.
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/




-- 
Ksanchez
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Dibujar trayectorias sobre un mapa usando matplotlib-basemap

2013-02-12 Por tema Boris Vladimir Comi
Thank you for your ideas, I leave the correct code to plot trajectories of any 
object, in my case I have drawn the trajectories of convective storms.

  1.  # --- Construimos el mapa ---
  2.
  3.  import numpy as np
  4.  from mpl_toolkits.basemap import Basemap
  5.  import matplotlib.pyplot as plt
  6.  from PIL import *
  7.  fig = plt.figure(figsize=(12,12))
  8.
  9.  ax = fig.add_axes([0.1,0.1,0.8,0.8])
  10.
  11. m = Basemap(projection='cyl', llcrnrlat=12, urcrnrlat=35,llcrnrlon=-120, 
urcrnrlon=-80, resolution='c', area_thresh=1000.)
  12.
  13. m.bluemarble()
  14. m.drawcoastlines(linewidth=0.5)
  15. m.drawcountries(linewidth=0.5)
  16. m.drawstates(linewidth=0.5)
  17.
  18. # --- Dibujamos paralelos y meridianos ---
  19.
  20. m.drawparallels(np.arange(10.,35.,5.),labels=[1,0,0,1])
  21. m.drawmeridians(np.arange(-120.,-80.,5.),labels=[1,0,0,1])
  22. m.drawmapboundary(fill_color='aqua')
  23.
  24. # --- Abrimos el archivo que contiene los datos ---
  25.
  26. import pandas as pd
  27.
  28. df = pd.read_csv('scm-2004.csv')
  29. for evento, group in df.groupby(['evento']):
  30. latitude = group.lat.values
  31. longitude = group.lon.values
  32. x,y = m(longitude, latitude)
  33. plt.plot(x,y,'y-',linewidth=2 )
  34. plt.xlabel('Longitud')
  35. plt.ylabel('Latitud')
  36. plt.title('Trayectorias de Sistemas Convectivos 2004')
  37.
  38.
  39.
  40. plt.savefig('track-2004.jpg', dpi=100)

With the above code, I get the desired figure. 60 paths drawn on the map of 
México.

I have only one last question: how could indicate the start of each of the 
storms, someone has an idea how I can do this?

De: Python-es [python-es-bounces+glez_b=comunidad.unam...@python.org] en nombre 
de Kiko [kikocorre...@gmail.com]
Enviado: miércoles, 30 de enero de 2013 02:01 a.m.
Para: La lista de python en castellano
Asunto: Re: [Python-es] Dibujar trayectorias sobre un mapa usando 
matplotlib-basemap



El 29 de enero de 2013 20:37, Boris Vladimir Comi 
gle...@comunidad.unam.mxmailto:gle...@comunidad.unam.mx escribió:
Gracias por tomarte el tiempo en responder, ya estructure mis datos en la forma 
que me indicas y he obtneido el producuto deseado. Ahora mi preguntas es, si  
mi archivo tiene mas de 30 trayectorias como las puedo graficar usando un for





De: Python-es 
[python-es-bounces+glez_b=comunidad.unam...@python.orgmailto:comunidad.unam...@python.org]
 en nombre de Kiko [kikocorre...@gmail.commailto:kikocorre...@gmail.com]
Enviado: martes, 29 de enero de 2013 01:48 a.m.
Para: La lista de python en castellano
Asunto: Re: [Python-es] Dibujar trayectorias sobre un mapa usando 
matplotlib-basemap



#!/usr/bin/python
#Project Storm: Plot trajectories of convective systems
#import libraries

import numpy as np
from mpl_toolkits.basemap import Basemap
import  matplotlib.pyplot as pl

# Plot a map for Mexico

m = Basemap(projection='cyl', llcrnrlat=12, urcrnrlat=35,llcrnrlon=-120, 
urcrnrlon=-80, resolution='c', area_thresh=1000.)
m.bluemarble()
m.drawcoastlines(linewidth=0.5)
m.drawcountries(linewidth=0.5)
m.drawstates(linewidth=0.5)

#Draw parallels and meridians

m.drawparallels(np.arange(10.,35.,5.))
m.drawmeridians(np.arange(-120.,-80.,10.))
m.drawmapboundary(fill_color='aqua')

#Open file whit numpy

El código anterior es lo que quieres. A partir de aquí usaría:

data = np.array([['19.70','-95.20','2/5/04 6:45 AM','1','-38','CCM'],

['19.70','-94.70','2/5/04 7:45 AM','1','-48','CCM'],

['19.30','-93.90','2/5/04 8:45 AM','1','-60','CCM'],

['19.00','-93.50','2/5/04 9:45 AM','1','-58','CCM'],

['19.00','-92.80','2/5/04 10:45 AM','1','-50','CCM'],

['19.20','-92.60','2/5/04 11:45 AM','1','-40','CCM'],

['19.90','-93.00','2/5/04 12:45 PM','1','-43','CCM'],

['20.00','-92.80','2/5/04 1:15 PM','1','-32','CCM'],

['23.10','-100.20','30/5/04 4:45 AM','2','-45','SCME'],

['23.20','-100.00','30/5/04 5:45 AM','2','-56','SCME'],

['23.30','-100.00','30/5/04 6:45 AM','2','-48','SCME'],

['23.30','-100.20','30/5/04 7:45 AM','2','-32','SCME'],

['23.40','-99.00','31/5/04 3:15 AM','3','-36','SCM'],

['23.50','-98.90','31/5/04 4:15 AM','3','-46','SCM'],

['23.60','-98.70','31/5/04 5:15 AM','3','-68','SCM'],

['23.70','-98.80','31/5/04 6:15 AM','3','-30','SCM']])

latitude = data[:,0].astype(np.float)

longitude = data[:,1].astype(np.float)


## x, y no te hacen falta para nada en este contexto


#Plot the points on the map, puedes usar un for. En este caso son solo tres 
casos y lo pongo explícito.


pl.plot(longitude[data[:,3] == '1'], latitude[data[:,3] == '1'],'ro-') # El 
primer ¿sistema convectivo de mesoescala?

pl.plot(longitude[data[:,3] == '2'], latitude[data[:,3] == '2'],'yo-') # el 
segundo

pl.plot(longitude[data[:,3] == '3'], latitude[data[:,3] == '3'],'go-') # y el 
tercero

pl.show()


Hola, fíjate en qué es lo que cambia en las tres líneas 

Re: [Python-es] Dibujar trayectorias sobre un mapa usando matplotlib-basemap

2013-02-12 Por tema Kiko
2013/2/12 Boris Vladimir Comi gle...@comunidad.unam.mx

  Thank you for your ideas, I leave the correct code to plot trajectories
 of any object, in my case I have drawn the trajectories of convective
 storms.


1. # --- Construimos el mapa ---
2.
3. import numpy as np
4. from mpl_toolkits.basemap import Basemap
5. import matplotlib.pyplot as plt
6. from PIL import *
7. fig = plt.figure(figsize=(12,12))
8.
9. ax = fig.add_axes([0.1,0.1,0.8,0.8])
10.
11. m = Basemap(projection='cyl', llcrnrlat=12, 
 urcrnrlat=35,llcrnrlon=-120, urcrnrlon=-80, resolution='c', area_thresh=1000.)
12.
13. m.bluemarble()
14. m.drawcoastlines(linewidth=0.5)
15. m.drawcountries(linewidth=0.5)
16. m.drawstates(linewidth=0.5)
17.
18. # --- Dibujamos paralelos y meridianos ---
19.
20. m.drawparallels(np.arange(10.,35.,5.),labels=[1,0,0,1])
21. m.drawmeridians(np.arange(-120.,-80.,5.),labels=[1,0,0,1])
22. m.drawmapboundary(fill_color='aqua')
23.
24. # --- Abrimos el archivo que contiene los datos ---
25.
26. import pandas as pd
27.
28. df = pd.read_csv('scm-2004.csv')
29. for evento, group in df.groupby(['evento']):
30. latitude = group.lat.values
31. longitude = group.lon.values
32. x,y = m(longitude, latitude)
33. plt.plot(x,y,'y-',linewidth=2 )
34. plt.xlabel('Longitud')
35. plt.ylabel('Latitud')
36. plt.title('Trayectorias de Sistemas Convectivos 2004')
37.
38.
39.
40. plt.savefig('track-2004.jpg', dpi=100)

 With the above code, I get the desired figure. 60 paths drawn on the map
 of México.
  I have only one last question: how could indicate the start of each of
 the storms, someone has an idea how I can do this?


Una pregunta, ¿por qué hablas en inglés en la lista de python en español?

Respecto a tu pregunta, puedes dibujar solo el punto inicial de la
trayectoria usando plt.plot o plt.scatter con x[0] e y[0] cambiando el
color de ese punto o el marcador que se usa para la trayectoria teniendo un
marcador diferente para el origen de la tormenta. Este plt.plot o plt.
scatter deberías usarlo después del plt.plot que usas para la trayectoria
completa para que se dibuje por encima de ella.

Saludos.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/