Re: Resumen de Python-es, Vol 25, Envío 15
"Antonio Reyes" <[email protected]>
| Newsgroups | gmane.comp.python.general.castellano |
|---|---|
| Message-ID | <op.u15b9hezdptvz5@nlel> |
Gracias Chema y Luis Miguel. Me han orientado bastante y ahora ya puedo obtener lo que necesitaba para ejecutar el resto de mis scripts. Saludos, Antonio En Wed, 21 Oct 2009 10:10:06 +0200, <[email protected]> escribió: > Envie los mensajes para la lista Python-es a > [email protected] > > Para subscribirse o anular su subscripción a través de WEB > http://listas.aditel.org/listinfo/python-es > > O por correo electrónico, enviando un mensaje con el texto "help" en > el asunto (subject) o en el cuerpo a: > [email protected] > > Puede contactar con el responsable de la lista escribiendo a: > [email protected] > > Si responde a algún contenido de este mensaje, por favor, edite la > linea del asunto (subject) para que el texto sea mas especifico que: > "Re: Contents of Python-es digest...". Ademas, por favor, incluya en > la respuesta solo aquellas partes del mensaje a las que esta > respondiendo. > > > Asuntos del día: > > 1. Re: recuperar contenido html (Luis Miguel Morillas) > 2. Re: Error de codificación de texto en CGI (Chema Cortes) > 3. Re: Error de codificación de texto en CGI (Sergio Martín) > 4. Re: recuperar contenido html (Chema Cortes) > 5. Re: recuperar contenido html (Luis Miguel Morillas) > 6. Re: recuperar contenido html (Chema Cortes) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Tue, 20 Oct 2009 22:43:58 +0200 > From: Luis Miguel Morillas <[email protected]> > Subject: Re: [Python-es] recuperar contenido html > To: Lista de discusión sobre python en castellano > <[email protected]> > Message-ID: > <[email protected]> > Content-Type: text/plain; charset=ISO-8859-1 > > El día 20 de octubre de 2009 21:56, Antonio Reyes > <[email protected]> escribió: >> Hola de nuevo, >> Gracias a los que han contestado a mi pregunta pero creo que estaba un >> poco >> vaga porque apenas estoy empezando con esto de la programación y con >> python. >> >> En fin, he estado intentado resolver mi problema pero sigo teniendo >> dificultades; las planteo ahora de forma más ordenada. >> >> Dado un conjunto de archivos html, quiero recuperar una parte de su >> contenido sólo si una de sus etiquetas contiene cierta condición. >> >> Un ejemplo de los archivos html que estoy trabajando es >> 'article_i.html' en: >> http://nlel.areyesp77.operaunite.com/file_sharing/ >> >> ó desde la página donde se obtuvieron: >> >> http://linux.slashdot.org/story/09/10/20/137241/Deadline-Scheduling-Proposed-For-the-Linux-Kernel?art_pos=2 >> >> Como se darán cuenta, son comentarios de un tema específico, de los >> cuales >> algunos tienen una etiqueta "score:número" = string >> >> Yo estoy interesado en recuperar el comentario sólo si su score es >> igual a >> "Funny" ó "Insightful", por ejemplo. >> >> He estado tratando con BeautifulSoup pero no logro aún relacionar el >> score >> con el comentario, y en consecuencia no lo logro extraer. Aedmás, para >> obtener el string de score estoy usando un código como el de abajo pero >> es >> un problema porque el 'comment_score_' no es igual en todos los >> comentarios. >> Bueno, si alguno de ustedes me puede orientar se lo agradecería. >> >> >> doc = open("/001/article_3.html") >> >> soup = BeautifulSoup(doc) >> soup.prettify() >> >> content = soup.findAll("div",{"class":"commentBody"}) >> #print content >> >> score = soup.findAll("span",{"id": "comment_score_14467215"}) ## >> if 'Insightful' in str(score): >> print content >> else: >> print '%%%%%' >> >> > > La solución más rápida es la siguiente. Usa amara2 (easy_install amara) > > from amara.bindery import html > > doc = > html.parse(r'http://nlel.areyesp77.operaunite.com/file_sharing/content/article_1.html') > comentarios = doc.xml_select(u"//span[@class='score']") > for c in comentarios: > texto_comentario = unicode(c) > if 'Funny' in texto_comentario or 'Insightful' in texto_comentario: > print texto_comentario # haz aquí lo que consideres con el > comentario. > > Es esto lo que necesitas? > > Saludos, > > -- lm > > > >> -- >> Usando el novísimo cliente de correo de Opera: >> http://www.opera.com/mail/ >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > > > ------------------------------ > > Message: 2 > Date: Tue, 20 Oct 2009 23:05:09 +0200 > From: Chema Cortes <[email protected]> > Subject: Re: [Python-es] Error de codificación de texto en CGI > To: Lista de discusión sobre python en castellano > <[email protected]> > Message-ID: <[email protected]> > Content-Type: text/plain; charset="iso-8859-1" > > El Martes, 20 de Octubre de 2009 20:00:58 Chema Cortes escribió: >> o, incluso mejor, insertarla en la >> misma configuración de apache (directiva "SetEnv"). ((Ésto no lo he >> probado aún. Si alguien lo prueba que haga favor de decir si >> funciona)) > > Lo he probado y funciona. Basta con poner en la configuración de apache > > SetEnv PYTHONIOENCODING UTF8 > > y recargar apache. > > Lo curioso es que también he probado con python2.6 y no necesita nada > para > funcionar. > > > He encontrado otra solución, muy similar a la del módulo 'codecs', pero > que > emplea el módulo 'io': > > import sys, io > > sys.stdout=io.TextIOWrapper(sys.stdout.buffer,"utf8") > ------------ próxima parte ------------ > Se ha borrado un mensaje que no está en formato texto plano... > Nombre : no disponible > Tipo : application/pgp-signature > Tamaño : 190 bytes > Descripción: This is a digitally signed message part. > Url : > /archivos/python-es/attachments/20091020/6d9c8f7b/attachment-0001.pgp > > ------------------------------ > > Message: 3 > Date: Tue, 20 Oct 2009 23:47:08 +0200 > From: Sergio Martín <[email protected]> > Subject: Re: [Python-es] Error de codificación de texto en CGI > To: Lista de discusión sobre python en castellano > <[email protected]> > Message-ID: <[email protected]> > Content-Type: text/plain; charset=iso-8859-1; format=flowed; delsp=yes > > Ole ole! > Gracias Chema, es justo lo que andaba buscando, lo he probado (lo del > SetEnv) y va perfecto. > > > El 20/10/2009, a las 23:05, Chema Cortes escribió: > >> El Martes, 20 de Octubre de 2009 20:00:58 Chema Cortes escribió: <recorte> >> >> Lo he probado y funciona. Basta con poner en la configuración de >> apache >> >> SetEnv PYTHONIOENCODING UTF8 >> >> y recargar apache. >> >> Lo curioso es que también he probado con python2.6 y no necesita >> nada para >> funcionar. >> >> >> He encontrado otra solución, muy similar a la del módulo 'codecs', >> pero que >> emplea el módulo 'io': >> >> import sys, io >> >> sys.stdout=io.TextIOWrapper(sys.stdout.buffer,"utf8") >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes > > > > ------------------------------ > > Message: 4 > Date: Wed, 21 Oct 2009 04:23:07 +0200 > From: Chema Cortes <[email protected]> > Subject: Re: [Python-es] recuperar contenido html > To: Lista de discusión sobre python en castellano > <[email protected]> > Message-ID: <[email protected]> > Content-Type: text/plain; charset="iso-8859-1" > > El Martes, 20 de Octubre de 2009 22:43:58 Luis Miguel Morillas escribió: > > >> La solución más rápida es la siguiente. Usa amara2 (easy_install amara) >> >> from amara.bindery import html >> >> doc = >> html.parse(r'http://nlel.areyesp77.operaunite.com/file_sharing/content/art >> icle_1.html') comentarios = doc.xml_select(u"//span[@class='score']") >> for c in comentarios: >> texto_comentario = unicode(c) >> if 'Funny' in texto_comentario or 'Insightful' in texto_comentario: >> print texto_comentario # haz aquí lo que consideres con el >> comentario. >> >> Es esto lo que necesitas? > > Por lo que se ve, hay que relacionar la puntuación con los comentarios. > He > probado un poco y lo he conseguido con el '..' de XPath para subir un > nivel: > > > from amara.bindery import html > > doc=html.parse(r'http://nlel.areyesp77.operaunite.com/file_sharing/content/article_1.html') > comentarios=doc.xml_select(u"//div[@class='commentBody']/..") > for c in comentarios: > score=unicode(c.xml_select(u"//span[@class='score']")[0])) > if u'Funny' in score or u'Insightful' in score: > comment=unicode(c.div[1]) > print score, comment > > > > Por cierto, Luis Miguel, el ftp de Uche no estaba operativo. Me he > tenido que > instalar Amara a través del repositorio mercurial. > ------------ próxima parte ------------ > Se ha borrado un mensaje que no está en formato texto plano... > Nombre : no disponible > Tipo : application/pgp-signature > Tamaño : 190 bytes > Descripción: This is a digitally signed message part. > Url : > /archivos/python-es/attachments/20091021/2c958255/attachment-0001.pgp > > ------------------------------ > > Message: 5 > Date: Wed, 21 Oct 2009 07:28:39 +0200 > From: Luis Miguel Morillas <[email protected]> > Subject: Re: [Python-es] recuperar contenido html > To: Lista de discusión sobre python en castellano > <[email protected]> > Message-ID: > <[email protected]> > Content-Type: text/plain; charset=ISO-8859-1 > > El día 21 de octubre de 2009 04:23, Chema Cortes <[email protected]> escribió: >> El Martes, 20 de Octubre de 2009 22:43:58 Luis Miguel Morillas escribió: >> >> <recorte> >> >> Por lo que se ve, hay que relacionar la puntuación con los comentarios. >> He >> probado un poco y lo he conseguido con el '..' de XPath para subir un >> nivel: >> >> >> from amara.bindery import html >> >> doc=html.parse(r'http://nlel.areyesp77.operaunite.com/file_sharing/content/article_1.html') >> comentarios=doc.xml_select(u"//div[@class='commentBody']/..") >> for c in comentarios: >> score=unicode(c.xml_select(u"//span[@class='score']")[0])) >> if u'Funny' in score or u'Insightful' in score: >> comment=unicode(c.div[1]) >> print score, comment >> >> > > Claro, Chema. Yo sólo estaba seleccionando los scores, que no sirven > para nada. > >> >> Por cierto, Luis Miguel, el ftp de Uche no estaba operativo. Me he >> tenido que >> instalar Amara a través del repositorio mercurial. >> > Sí, Uche ha tenido problemas con algunos servidores. Actualmente los > repositorios oficiales son http://bitbucket.org/uche/amara/ y > http://bitbucket.org/uche/akara/ . Y los ftps están en > ftp://hg.akara.info/pub/nightlies/ La documentación está en > http://wiki.xml3k.org/Amara2 y la gestión del proyecto pasa por > http://trac.xml3k.org Estoy un poco liado y tengo que reestructurar > bastante información :-P > > Estamos preparando también instaladores con y sin virtualenv, pero > buildout nos ha defraudado y estamos retomando otras posibilidades. > > -- lm > >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > > > ------------------------------ > > Message: 6 > Date: Wed, 21 Oct 2009 10:09:50 +0200 > From: Chema Cortes <[email protected]> > Subject: Re: [Python-es] recuperar contenido html > To: Lista de discusión sobre python en castellano > <[email protected]> > Message-ID: > <[email protected]> > Content-Type: text/plain; charset=ISO-8859-1 > > El día 21 de octubre de 2009 07:28, Luis Miguel Morillas > <[email protected]> escribió: >> El día 21 de octubre de 2009 04:23, Chema Cortes <[email protected]> >> escribió: <recorte> >> Sí, Uche ha tenido problemas con algunos servidores. Actualmente los >> repositorios oficiales son http://bitbucket.org/uche/amara/ y >> http://bitbucket.org/uche/akara/ . Y los ftps están en >> ftp://hg.akara.info/pub/nightlies/ La documentación está en >> http://wiki.xml3k.org/Amara2 y la gestión del proyecto pasa por >> http://trac.xml3k.org Estoy un poco liado y tengo que reestructurar >> bastante información :-P > > Yo lo decía, más que nada, por ser de este ftp de donde tira el > "easy_install". Deberíais actualizar la URL en el PyPi. > > >> Estamos preparando también instaladores con y sin virtualenv, pero >> buildout nos ha defraudado y estamos retomando otras posibilidades. > > > # ¡Lo bonito que hubiera sido un proyecto de colaboración para aplicar > amara al HL7! > # Lamentablemente, se sale de mis competencias :-( > > > ------------------------------ > > _______________________________________________ > lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > Fin de Resumen de Python-es, Vol 25, Envío 15 > ********************************************* _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes