Cómo hacer una copia de seguridad de la base de datos de enlaces de seriesyonkis.com
2 participantes
Página 1 de 1.
Cómo hacer una copia de seguridad de la base de datos de enlaces de seriesyonkis.com
En mi post sobre “cómo hacer una copia de seguridad de tu sitio favorito de enlaces” explicaba cómo hacer una copia completa de un sitio web, pero también advertía que:
La copia de un sitio web “a lo bestia” no es completamente funcional y suele ocupar mucho más de lo que ocupa el sitio original.
Así que me comprometí a ofrecer una forma elegante de proteger toda esa información que contienen los sitios de enlaces amenazados por el Sinderetazo.
La idea no es tan simple como en el post anterior. Esta vez lo que propongo requiere saber un poquín de programación pero el resultado nos permitirá obtener un fichero de unos pocos megas con todos los enlaces de tu sitio de enlaces favorito (en este caso, tomaremos como ejemplo seriesyonkis.com).
Aunque no lo conocía de antes (así que el script probablemente diste mucho de ser el mejor script posible) he escogido Ruby como lenguaje. La razón es que permite muy fácilmente hacer conexiones vía http y obtener, para entendernos, el html de una página en formato cadena de texto:
"#Get generically, HTTP content
# Receives a URL and returns its content
def gethttpcontent(url)
begin
url = URI.parse(url)
#Perform the HTTP query and get the content
req = Net::HTTP::Get.new(url.path);
res = Net::HTTP.start(url.host, url.port)
{ |http| http.request(req); }
#Return the body
return res.body;
rescue
return ""
end
end"
Por cierto, aprovecho para pedir perdón por el uso patatero que hago de mi inglés a lo largo del código fuente. Cuando programo me flipo muchísimo.
Además de estas facilidades (cortesía de la librería net/http de Ruby) utilizo también las facilidades de Ruby para tratar cadenas. En concreto, utilizo lo que llaman pattern matching para recorrer elementos de una página.
"content =
gethttpcontent("http://www.seriesyonkis.com/")
content.scan(/<li class="page_item">(.*?)<\/li>/)"
Usando esta técnica he escrito funciones que permiten descargar cada serie, cada temporada de cada serie, cada episodio de cada temporada y cada enlace de cada episodio.
En particular, para descargar los enlaces he tenido que hacer un pequeño apaño porque los enlaces no están escritos explícitamente en el código fuente de la página (están protegidos -por decirlo de alguna manera- por funciones JavaScript).
La manera de salvar este pequeñín obstáculo ha sido descargar los ficheros JavaScript y ejecutarlos localmente (haciéndoles creer que están siendo ejecutados desde un navegador):
"function locclass() {
this.search = '" + locationsearch + "'; }
location = new locclass();
function docclass() {
this.write = docwrite; }
function docwrite(str) {
print(str); }
document = new docclass();"
Donde locationsearch es una variable que no viene a cuento ahora.
Usando estas técnicas, he escrito el script sy-getseries.rb, que permite obtener un fichero (con todos los datos necesarios para generar algo del estilo de sy-links20110124.ods, de sólo 2.83Mb) con los más de 163.000 enlaces que a día de hoy hay en seriesyonkis.
PD: Para abrir el .ods necesitarás LibreOffice o una aplicación compatible.
FUENTE: http://www.carloscapote.com
ORIGINAL:http://www.carloscapote.com/informatica-y-otras-fricadas/como-hacer-una-copia-de-seguridad-de-la-base-de-datos-de-enlaces-de-seriesyonkis-com-for-casidummies/
Re: Cómo hacer una copia de seguridad de la base de datos de enlaces de seriesyonkis.com
Madre mía cómo lo flipa la gente, muy currado, pero bien es cierto que con un Web Scraper cualquiera y con el comando grep de Linux se puede hacer de forma sencilla. grep + sed + cut = PROGRESS.
KurioCT- Mensajes : 384
Fecha de inscripción : 23/06/2010
Temas similares
» Anuncio empresa de seguridad
» VOIP, tarifa plana de datos etc...
» Un XSS en tuenti permitía hacer hijacking
» Richard Stallman: “Facebook no es tu amigo, no lo uses. Su modelo de negocio es abusar de los datos de sus usuarios”
» Pack Utilidades ¿Seguridad?
» VOIP, tarifa plana de datos etc...
» Un XSS en tuenti permitía hacer hijacking
» Richard Stallman: “Facebook no es tu amigo, no lo uses. Su modelo de negocio es abusar de los datos de sus usuarios”
» Pack Utilidades ¿Seguridad?
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.