• Publicidad

Pasar Tablas html a otros formatos

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Notapor explorer » 2006-10-09 18:07 @797

preiddy escribiste:Me respondo a lo de antes, cambiando ambos, no imprime nada.
Ahora si que no se que pueda ser.

Yo me he bajado el datos.html con un simple wget, en mi linux. Y eso no realiza ningún cambio en la codificación.

Lo dicho, hay que saber cómo es el origen.

Lo que desconozco es si HTML::TableExtract descodificará de forma automática o no las entidades que estén en utf8. O quizás no lo hace porque no hay entidades y están los acentos en utf8 de forma directa.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Notapor preiddy » 2006-10-10 10:08 @464

Si, efectivamente es un problema de codificación. He cambiado manualmente los nombres de los campos y los resultados obtenidos son iguales. Ahora lo que hago es un scripts para cambiar los &acute por letras y luego a pegarme para pasar de xml a sql, aunque creo que no tendre mayores problemas para incorporar los xml a mysql.
De nuevo muchas gracias.
preiddy
Perlero nuevo
Perlero nuevo
 
Mensajes: 70
Registrado: 2006-03-29 05:43 @280
Ubicación: Madrid, España

Notapor explorer » 2006-10-10 10:27 @477

Pero, ¿no sabes cómo están codificados en origen?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor preiddy » 2006-10-10 16:25 @725

Mi sistema operativo, el terminar y el browser estan en utf8. Los archivos html los descargue con wget y en la web original si que estan en iso. :?
preiddy
Perlero nuevo
Perlero nuevo
 
Mensajes: 70
Registrado: 2006-03-29 05:43 @280
Ubicación: Madrid, España

Notapor explorer » 2006-10-10 16:55 @746

El que la terminal esté en utf8 creo que podría influir...

A ver... recapitulemos... te has bajado los html con wget, igual que yo. Dentro del html, en la cabecera, aparece un meta que dice que la codificación de la página es iso-8859-1. Y además, aparecen acentos codificados como entidades html.

En esa situación, a mi me sale la salida de HTML::TableExtract con los acentos originales y con las entidades html convertidas también a acentos, todo en iso.

En cambio, viendo la salida que publicaste unos mensajes más arriba, veo que los acentos quedan convertidos en una cosa rara: '&65533;'. Y además, todos los acentos quedan convertidos en el mismo código, con lo que indica que algo raro pasa.

Debes hacer que la salida de HTML::TableExtract quede en un fichero y luego abrir ese fichero con un editor que te permita ver exáctamente, a nivel de byte, qué es lo que ha sacado. A veces yo uso hexdump o khexedit.

Si el resultado se parece a lo que me sale a mi, entonces todo va bien, pero si salen acentos utf, puedes probar a usar el módulo Encode, para pasarlos a otra codificación.

Todo ello para evitar el enorme trabajo de ir filtrando los documentos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor preiddy » 2006-10-11 07:48 @367

A ver... recapitulemos... te has bajado los html con wget, igual que yo. Dentro del html, en la cabecera, aparece un meta que dice que la codificación de la página es iso-8859-1. Y además, aparecen acentos codificados como entidades html.

Si.

En esa situación, a mi me sale la salida de HTML::TableExtract con los acentos originales y con las entidades html convertidas también a acentos, todo en iso.

A mi no, probe cambiando el terminal a iso, me descargue el html y ejecute el script y nada. De ninguna de las dos formas. Hasta salve el script en iso y en utf8 y nada.
Empleando el Encode que me facilitates tampoco. Creo que al final lo menos complicado sera el filtrado previo.
Estoy enormemente agradecido por la ayuda prestada de vuestra parte, muchas gracias.
preiddy
Perlero nuevo
Perlero nuevo
 
Mensajes: 70
Registrado: 2006-03-29 05:43 @280
Ubicación: Madrid, España

Notapor explorer » 2006-10-12 07:55 @371

explorer escribiste:En cambio, viendo la salida que publicaste unos mensajes más arriba, veo que los acentos quedan convertidos en una cosa rara: '&65533;'. Y además, todos los acentos quedan convertidos en el mismo código, con lo que indica que algo raro pasa.
Ya encontré la explicación:
* Las páginas están en iso-8859-1, aunque hay algunas entidades html (á) por la página.
* wget no hace nada mas que bajarse las páginas
* HTML::TableExtract deja los acentos iso como están y convierte las entidades a acentos iso.
* PERO, como tu terminal está en utf8, la terminal no sabe cómo representar los acentos. Por eso, en tus anteriores mensajes (revísalos ahora), aparecen todos ellos como un carácter extraño. Me he dado cuenta al editar tus mensajes.

Puedes hacer la siguiente experiencia:
1. Abre el editor joe y cambia la codificación de trabajo a iso-8859-1 (esto se puede hacer en las últimas versiones del joe.
2. Copia y pega mi script dentro del joe y grábalo como miscript.pl
3. Ejecuta miscript.pl y desvía la salida hacia un fichero. Por ejemplo: perl miscript.pl > datos.xml. Se supone que en datos.xml estará todo el xml generado.
4. Abre el datos.xml con el joe. Deberán aparecer los acentos. Si no lo hacen y en su lugar hay una 'X', cambia la codificación del joe a iso-8859-1. Si aparecen los acentos, todo va bien. Quiero decir que aunque tu no los veas, están.

Todo esto es un ejemplo de los problemas que vamos a tener estos años futuros con el tema del utf8... yo aún sigo con mi terminal en iso para quitarme estos problemas, pero alguna vez tendré que dar el 'salto'.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados