PDA

Ver la versión completa : Extraccion de datos de una BDD online



Bigruf
23-02-2012, 09:57
Buenas compañeros. Este es mi primer post y a lo mejor este no es el subforo correcto, si es asi disculparme, pero necesito saber, si hay forma de sacar los datos de una bdd de una web.
Me explico, esta web en cuestion es "arte-asoc.es" y dentro de ella hay un listado de los representantes de arte de toda españa.
Lo que me gustaria seria no tener q hacer busqueda a busqueda y copy-paste cada vez, sino descargarme la bdd entera. No se si existe algun programa o algun modo sencillo de hacerlo. Necesito ayuda.

Muchas gracias

clarinetista
23-02-2012, 12:20
¿Sabes que eso es ilegal?

hckr
23-02-2012, 17:59
¿Sabes que eso es ilegal?

No ha colado no? jeje

Markitos1024
24-02-2012, 01:46
Supongo que la pagina es

http://******.es/Listado-artistas.html (la pongo con asteriscos por lo que comentan los compañeros)

los busca mediante el boton

<input type="image" src="/images/submitsocios.png" alt="Buscar" title="Buscar" onclick="doSearchArtistas();"/>

Bueno deberias buscar en que js de los que agrega en la cabecera esta esa funcion y ver que hace.

O queres todo servido en bandeja :D

Bigruf
08-03-2012, 21:34
Markitos, como si me dices misa. tio no tengo ni Put.... idea. Solo necesito el listado de esos representantes para un cliente y llevo varios dias copiandolos a mano. Solo quiero sacarlos todos en una sola busqueda o pasarlos a un txt de alguna manera rapida.
Ilegal no debe de ser pues es accesible a todo el mundo bajo una busqueda por provincias. Yo solo quiero tenerlos todos in tener q buscar provincia a provincia.

Se puede o no?

Bigruf
08-03-2012, 21:35
¿Sabes que eso es ilegal?

Ilegal no creo pues esa base de datos es accesible mediante una busqueda en la propia web. Lo unico q quiero es descargarla entera sin tener q hacer busqueda a busqueda por provincias

hystd
08-03-2012, 23:19
Bigruf, vigila tu vocabulario!

Sólo tienes que modificar, como ya te han dicho anteriormente, la rutina doSearchArtistas(), la cual está dentro del fichero init.js, declarado en la cabecera de la página:



var g=$('generoSearch');
var t=$('textSearch');
var send=false;
if(t.value!=""){
send=true;
}
if(g.options[g.selectedIndex].value!=-1){
send=true;
}
if(send){
new Request({
url:'ajaxReq.html',
method:'post',
onSuccess: function(responseHTML,responseXML){
$('resultSearch').innerHTML=responseHTML;
},
onFailure: function(xhr){

}
}).send('action=SearchArtist&genero='+g.value+'&text='+t.value);
}else{
$('resultSearch').innerHTML='<b>Seleccione una opción o introduzca un término de búsqueda</b>';
}


Haciendo uso de tu navegador, abres una consola (por ejemplo, si estás en Firefox, pues con Firebug, presionando F12), y cambias dicha rutina por esta otra:



var g=$('generoSearch');
var t=$('textSearch');
var send=false;
if(t.value!=""){
send=true;
}
if(g.options[g.selectedIndex].value!=-1){
send=true;
}
if(true){
new Request({
url:'ajaxReq.html',
method:'post',
onSuccess: function(responseHTML,responseXML){
$('resultSearch').innerHTML=responseHTML;
},
onFailure: function(xhr){

}
}).send('action=SearchArtist&genero='+g.value+'&text='+t.value);
}else{
$('resultSearch').innerHTML='<b>Seleccione una opción o introduzca un término de búsqueda</b>';
}


Al ejecutarla, tendrás todos los resultados, tal que así (observa que los campos de búsqueda, el combo desplegable "Elija un campo" y el campo de texto "Término de búsqueda" están vacios):

http://img706.imageshack.us/img706/1033/capturaqjp.jpg (http://imageshack.us/photo/my-images/706/capturaqjp.jpg/)

Si lo que deseas es exportar estos resultados a un fichero de texto, sólo tendrás que "solucionar" el tema de la paginación de resultados, ya que como ves, tienes 208 paginaciones. Para ello procede con la misma filosofía, pero haciendo uso de la función doSearchResultList().

Otra alternativa es parsear el código html, y hacer crawling en cada uno de los enlaces de la paginación.

Un saludo.

clarinetista
09-03-2012, 16:01
Lo que te comenta HYSTD es lo que deberías haberte plateado, no es lo mismo que lo que tu pedias :)

Saludos y suerte