Migración automática de hilos (en progreso)

Temas dedicados a Mundo de Tinieblas en general y a nuestra comunidad en particular
Avatar de Usuario
Casemir
Narrador de Vampiro, Mago y Changeling Oriental
Narrador de Vampiro, Mago y Changeling Oriental
Mensajes: 2220
Registrado: 14 Jul 2019, 22:23
Mensajes miarroba: 7.523
Antigüedad: 15 de Junio de 2013

Migración automática de hilos (en progreso)

#1

Mensaje por Casemir » 17 Jul 2019, 09:36

Ya lo he comentado varias veces, pero usaré este tema para hablar del estado de esto.

Mi idea es suplir la carencia de funcionalidad de exportación de los foros de mi@ con unos programas que se encarguen de esta exportación e importación. Estos programas son dos, uno por cada una de estas operaciones.
  • Exportador que lea un hilo (o tal vez un subforo entero, o una categoría) del foro antiguo y guarde todos los mensajes con sus respectivos usuarios en un archivo.
  • Importador que lea ese archivo y cree los mismos mensajes en el nuevo foro.
Por ahora sólo he empezado con el exportador. El estado actual es un programa que lee una página del foro antiguo e imprime en pantalla el contenido del mensaje y el nombre del usuario que lo escribió. El mayor esfuerzo de esta parte ha sido desfrizar el código de mi@ para poder extraer los mensajes y los nombres de usuario.

Próximos pasos:
  • En vez de imprimir por pantalla, guardar los datos en un archivo formato JSON.
  • Leer no sólo esa página, sino también las subsiguientes para guardar todo el hilo entero.

Avatar de Usuario
Victoria_Rain
Narradora de Vampiro Edad Oscura
Narradora de Vampiro Edad Oscura
Mensajes: 1944
Registrado: 14 Jul 2019, 01:09
Ubicación: Tierra Media
Mensajes miarroba: 4.723
Antigüedad: 9 de Agosto de 2016

Re: Migración automática de hilos (en progreso)

#2

Mensaje por Victoria_Rain » 17 Jul 2019, 09:41

Cojo número. Cuando sea posible, yo quiero :)
Por el camino áspero, a las estrellas.

Avatar de Usuario
Siralos
Fundador
Fundador
Mensajes: 181
Registrado: 13 Jul 2019, 17:37
Ubicación: Valencia
Mensajes miarroba: 956
Antigüedad: 7 de Agosto de 2004
Contactar:

Re: Migración automática de hilos (en progreso)

#3

Mensaje por Siralos » 17 Jul 2019, 10:01

Casemir escribió: 17 Jul 2019, 09:36 Ya lo he comentado varias veces, pero usaré este tema para hablar del estado de esto.

Mi idea es suplir la carencia de funcionalidad de exportación de los foros de mi@ con unos programas que se encarguen de esta exportación e importación. Estos programas son dos, uno por cada una de estas operaciones.
  • Exportador que lea un hilo (o tal vez un subforo entero, o una categoría) del foro antiguo y guarde todos los mensajes con sus respectivos usuarios en un archivo.
  • Importador que lea ese archivo y cree los mismos mensajes en el nuevo foro.
Por ahora sólo he empezado con el exportador. El estado actual es un programa que lee una página del foro antiguo e imprime en pantalla el contenido del mensaje y el nombre del usuario que lo escribió. El mayor esfuerzo de esta parte ha sido desfrizar el código de mi@ para poder extraer los mensajes y los nombres de usuario.

Próximos pasos:
  • En vez de imprimir por pantalla, guardar los datos en un archivo formato JSON.
  • Leer no sólo esa página, sino también las subsiguientes para guardar todo el hilo entero.
Pero si esto ya lo hice yo!!!!

Código: Seleccionar todo

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
from html2bbcode.parser import HTML2BBCode
import urllib2
import ssl
from bs4 import BeautifulSoup
import codecs
ssl._create_default_https_context = ssl._create_unverified_context

paginahilo = []

hdr = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
       'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
       'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
       'Accept-Encoding': 'none',
       'Accept-Language': 'en-US,en;q=0.8',
       'Connection': 'keep-alive'}
parser = HTML2BBCode()

#Primero recuperamos la pagina del hilo
hilo = 'https://webvampiro.mforos.com/464527/11512289-taller-de-magia/'
paginas = 1

for i in range(1,paginas+1):
    pagina = '%s?pag=%d' % (hilo,i)
    req = urllib2.Request(pagina, headers=hdr)
    page = urllib2.urlopen(req).read()
    soup = BeautifulSoup(page.decode('utf-8', 'ignore'), 'html.parser')
    mensajes = soup.find('table',id='ForoMensajes')
    for mensaje in soup.select('tr[class*="tabla_texto"]'):
        autor = mensaje.find('span',{'itemprop':'name'})
        if autor:
            nick = str(autor.contents[0])
            texto = mensaje.find("div", id=lambda value: value and value.startswith("e_msg_"))
            
            for cita in texto.findAll("div", {"class": "cite"}):
                cita.decompose()
            for cita in texto.findAll("div", {"class": "mia_cite"}):
                cita.decompose()
                
            texto = str(texto)
            print texto
                
            inicio = texto.find('google_ad_section_start -->') + 27
            fin = texto.find('<!-- google_ad_section_end')
            textofinal = texto[inicio:fin]
            textofinal = textofinal.replace('data-src=','src=')
            bbcode = parser.feed(textofinal)
            mensajefinal = '[quote=%s]%s[/quote]' % (nick,bbcode)
            paginahilo.append(mensajefinal)

with open('paginahilo.txt','w') as file:
    for mensaje in paginahilo:
        file.write(mensaje)
       
Saludos de Siralos

Avatar de Usuario
Lothar
Mensajes: 216
Registrado: 15 Jul 2019, 15:04
Mensajes miarroba: 69
Antigüedad: 22 de Enero de 2016

Re: Migración automática de hilos (en progreso)

#4

Mensaje por Lothar » 17 Jul 2019, 10:47

¿Y esto de la importación a lo bruto cómo deja el tema de los usuarios?

¿Cómo vais a gestionar los autores de los comentarios que no estén dados de alta como usuario en la base de datos de este foro?

Avatar de Usuario
Siralos
Fundador
Fundador
Mensajes: 181
Registrado: 13 Jul 2019, 17:37
Ubicación: Valencia
Mensajes miarroba: 956
Antigüedad: 7 de Agosto de 2004
Contactar:

Re: Migración automática de hilos (en progreso)

#5

Mensaje por Siralos » 17 Jul 2019, 10:57

Lothar escribió: 17 Jul 2019, 10:47 ¿Y esto de la importación a lo bruto cómo deja el tema de los usuarios?

¿Cómo vais a gestionar los autores de los comentarios que no estén dados de alta como usuario en la base de datos de este foro?
Ese es uno de los problemas. Yo por eso mi programa lo hice para que generara el tema como citas, no en base de datos.
Pero se podría hacer una asignación mi@<==>phpbb de usuarios.
Saludos de Siralos

Avatar de Usuario
Lothar
Mensajes: 216
Registrado: 15 Jul 2019, 15:04
Mensajes miarroba: 69
Antigüedad: 22 de Enero de 2016

Re: Migración automática de hilos (en progreso)

#6

Mensaje por Lothar » 17 Jul 2019, 11:04

[mention]Siralos[/mention], lo de guardarlos como citas es una buena solución.

Lo otro probablemente sea imposible, no ya porque no tenéis una base de datos que replicar, sino porque no tenéis permiso expreso de los cientos de usuarios que no están registrados aquí para meterlos en otra base de datos. Vamos, que yo en previsión a potenciales problemas con la GDPR no me metería en ese jardín.

Sebastian_Leroux
Mensajes: 2974
Registrado: 16 Jul 2019, 13:10
Mensajes miarroba: 6.464
Antigüedad: 29 de Febrero de 2016

Re: Migración automática de hilos (en progreso)

#7

Mensaje por Sebastian_Leroux » 17 Jul 2019, 13:46

Pregunto, tanto a Síralos como a Casemir. Vuestros respectivos códigos...

- ¿importan/importarán imágenes? ¿tanto las enlazadas desde url como las cargadas desde el PC (que eran las dos formas que te permitía subir fotos mi@?
- ¿importan/importarán formato de texto (tipo de letra, colores, párrafos, estilo)?
- ¿importan/importarán videos incrustados?

No quiero agobiar ni nada, no me malinterpreteis, sólo que a la hora de planificar la translación de hilos, molaría saber la potencialidad de las herramientas (se hagan al final o no). En cualquier caso os agradezco mucho el esfuerzo que estais poniendo en este miniproyecto :)

Avatar de Usuario
Casemir
Narrador de Vampiro, Mago y Changeling Oriental
Narrador de Vampiro, Mago y Changeling Oriental
Mensajes: 2220
Registrado: 14 Jul 2019, 22:23
Mensajes miarroba: 7.523
Antigüedad: 15 de Junio de 2013

Re: Migración automática de hilos (en progreso)

#8

Mensaje por Casemir » 17 Jul 2019, 13:52

[mention]Siralos[/mention] de todas las veces que lo he mencionado, nadie me ha dicho que hubiera nada hecho. Le echaré un ojo cuando llegue a casa.

Mi idea es no crearlo como citas, sino como mensajes como si se hubiera escrito en el foro. Para eso obviamente necesito acceso a la base de datos, pero puedo ir probando en una instalación mía.

Los nombres de usuario se pueden buscar en la base de datos del foro, y los que no existan se crean nuevos.

No creo que pasar los mensajes sea problemático de cara a la GDPR, puesto que no hay información personal, al menos ninguna que pueda ser procesada como tal.

Avatar de Usuario
Casemir
Narrador de Vampiro, Mago y Changeling Oriental
Narrador de Vampiro, Mago y Changeling Oriental
Mensajes: 2220
Registrado: 14 Jul 2019, 22:23
Mensajes miarroba: 7.523
Antigüedad: 15 de Junio de 2013

Re: Migración automática de hilos (en progreso)

#9

Mensaje por Casemir » 17 Jul 2019, 13:55

Sebastian_Leroux escribió: 17 Jul 2019, 13:46

- ¿importan/importarán imágenes? ¿tanto las enlazadas desde url como las cargadas desde el PC (que eran las dos formas que te permitía subir fotos mi@?
- ¿importan/importarán formato de texto (tipo de letra, colores, párrafos, estilo)?
- ¿importan/importarán videos incrustados?

Sí a todo menos a lo de las cargadas del pc, que tendría que investigarlo.

Avatar de Usuario
Lothar
Mensajes: 216
Registrado: 15 Jul 2019, 15:04
Mensajes miarroba: 69
Antigüedad: 22 de Enero de 2016

Re: Migración automática de hilos (en progreso)

#10

Mensaje por Lothar » 17 Jul 2019, 14:15

Casemir escribió: 17 Jul 2019, 13:52 No creo que pasar los mensajes sea problemático de cara a la GDPR, puesto que no hay información personal, al menos ninguna que pueda ser procesada como tal.
Si vais a crear los mensajes como mensajes en base de datos necesitareis asociarlos a usuarios que a su vez necesitarán un correo electrónico y eso ya es un dato personal. Lo que no sé es si un nick sin emparejar con un email se considera un dato personal. Tal vez crear cuentas dummy para los usuarios que no estén dados de alta sea una solución...

El año pasado hubo algún problema en las NetCon 2018 relativo a la GDPR y el potencial uso de los datos por parte de la organización y aunque todo el mundo estaba actuando de buena fe, con la ley en la mano, lo que estaban haciendo no era legal.

No quiero ser toca narices, pero a mí ya me han puesto una denuncia a cuenta de la GDPR y tengo cierta paranoia con el tema :lol: (en un caso relativo a borrado de usuarios). Desde la web de la Agencia de protección de datos podéis informaros mejor: https://www.aepd.es/herramientas/informa.html

Más vale prevenir que tener que llamar a un abogado :lol:

Editor completo

Volver a “MUNDO DE TINIEBLAS”