Hace tiempo cuando abri este nuevo blog dije que iba a contar como fue la migracion desde Blogia, donde no existe ningun tipo de exportacion y por ser un hosting minoritario no hay herramientas para ello.
Basicamente consiste en pasar el contenido que Blogia genera en un fichero html que se usa como backup y generar un fichero rss en xml que pueda ser interpretado por la mayoria de hostings como Blogger o WordPress. Lo primero que se necesita es un entorno Linux, ya que necesitaremos usar las herramientas grep, wget y perl, que es el lenguaje de programacion que usaremos para convertir este html en un rss. Si usas Windows puedes probar a usar cygwin que es parecido y llevar las mismas herramientas.
No me voy a parar en explicar lo que hace cada comando, digamos que lo podeis tomar lo que cuento como un acto de fé y la prueba es que este blog que lees ya no esta en Blogia.
1º Paso
En las opciones de tu blog de Blogia descargar el fichero html de backup y renombralo a backup_blogia.html
2º Paso
En la consola ejecuta el siguiente comando
grep ‘<div class=»articulo»‘ backup_blogia.html > articulos_blogia.html
Este comando comienza a truncar el indice de articulos del html
3º Paso
perl -p -e ‘s|.*<h2><a href=»([^»]*)»>(.*?)</a></h2><div class=»textoarticulo»>(.*)</div><div class=»infoadicional»>(\d*)/(\d*)/(.*?)<.*|\n<item>\n<link>$1</link>\n<guid isPermaLink=»false»>$1</guid>\n<title>$2</title>\n<content:encoded><![CDATA[$3]]></content:encoded>\n<pubDate>$5/$4/$6</pubDate>\n<dc:creator>El Marinero</dc:creator></item>|g’ articulos_blogia.html | perl -p -e ‘s|(, )?<a href=»http://www.technorati.com/tag/[^»]*» rel=»tag»>([^<]*)</a>|<category>$2</category>|g’ > rss_beta.xml
Este pedazo de comando formatea el html y lo convierte en un rss sin imagenes, cambia las palabras en rojo por el nombre del autor de los articulos.
4º Paso
perl -p -e ‘s|(<img[^>]*>)|\n$1\n|g’ ../rss_beta.xml | grep ‘<img’ | grep blogia | perl -p -e ‘s|^.*src=»([^»]*)».*$|$1|g’ | xargs –replace wget {}
Este comando descarga las imagenes asociadas a tu blog para que puedas subirlas a otro servidor.
5º Paso
perl -p -e ‘s|src=»http://mariner.blogia.com/upload/|src=»http://localhost/img/blogia/|g’ rss_beta.xml > rss_final.xml
Cambia la primera zona en rojo por la direccion de tu blog en Blogia y la segunda por el hosting donde vas a subir las imagenes.
Conclusion
Despues de todo este arduo «trabajo» ya tienes un rss con los articulos de tu blog listos para ser importados en WordPress o Blogger, pero no todo va a ser bonito. Como consecuencia de esta importacion se perderan los comentarios de los articulos y las categorias pero menos da una piedra…
Impresionante.
Muy creativo ! … Trataré de ponerlo en práctica, pues ahora que sé que es posible, voy a realizar la migración. Gracias por compartirlo.
Hola,No entiendo muy bien esta línea, la parte que se refiere al localhost. Este ya es el nuevo hosting que tengo que tener contratado? Graciasperl -p -e 's|src="http://mariner.blogia.com/upload/|src="http://localhost/img/blogia/|g' rss_beta.xml > rss_final.xml
Jakeukalane, la parte de localhost es la direccion del hosting donde vas a poner las imagenes. Localhost esta puesto por si quieres migrar a tu servidor local,pero yo por ejemplo lo tengo contra http://usuarios.multimania.es/marineru/La linea quedaria perl -p -e 's|src="http://mariner.blogia.com/upload/|src="http://usuarios.multimania.es/marineru/img/blogia/|g' rss_beta.xml > rss_final.xmlUn saludo
saludos
problema actual
blogia no te permite hacer copia de seguridad «las hacen ellos» pero donde estan?
imposible de contactar
si alguien sabe que me lo informe gracias
BS low – raltinaoity high! Really good answer!
[…] esta tercera versión del blog. Ha pasado 3 hostings diferentes, primero por Blogia, del que me costo sacarlo sangre, sudor y código , luego por Blogger de donde lo saque por una pataleta con Google por cerrar Google Reader para […]
Si que te deja, en la antigua dirección:
http://nombreblog.blogia.com/admin.php?opcion=opciones&accion=copiadeseguridad&hacercopiahtml=si
http://nombreblog.blogia.com/admin.php?opcion=opciones&accion=plantilla
Para poder editar la plantilla