Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Buscar y recabar información web (https://www.clubdelphi.com/foros/showthread.php?t=86246)

conik500 05-07-2014 20:10:21

Buscar y recabar información web
 
Para un software de biblioteca quiero que, en un textedit, pongas un isbn y se busque en una url. Como por ejemplo: ww.fichasdelibros.net/?busqueda=[isbn] y, sin necesidad de mostrar la página busque dentro de ella los campos ISBN, Título completo, autor, etc. (la página es muy simple y solo de texto)y que se guarde como registro en una base de datos. Soy muy novato y me gustaría que me dijeran como hacerlo con pelos y señales.

Gracias!:D

PD.:El ejemplo es inventado

Casimiro Notevi 06-07-2014 10:06:44

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

conik500 06-07-2014 21:45:45

Hola! Sí la he leído. ¿Podrían responder a mi pregunta por favor?

Mil gracias por adelantado!!:)

Casimiro Notevi 06-07-2014 22:15:13

O sea, quieres que pongamos el código para que copies y pegues.

conik500 06-07-2014 23:25:19

Cita:

Empezado por Casimiro Notevi (Mensaje 478768)
O sea, quieres que pongamos el código para que copies y pegues.

Sí, o que me digan como puedo hacerlo:confused:
Gracias!

Neftali [Germán.Estévez] 07-07-2014 10:28:04

Si buscas en los foros encontrarás bastantes mensajes de cómo acceder a páginas web para obener información. El problemas es que no hay un sistema único y depende de cómo esté implementada la web. Algunas poseen una API de acceso, otras proveen algún webService para poder acceder a determinadas consultas, otras puedes llamarlas utilizando parámetros directamente,...

Das información limitada para poder responderte con algo más concreto.

Por ejemplo, aquí tienes algunos ejemplos similares:
(Google Maps – API) Codificación Geográfica – I
Obtener información de una canción
TidHTTP; Descargar imágenes de una Web

conik500 07-07-2014 14:40:29

Cita:

Empezado por Neftali (Mensaje 478781)
Algunas poseen una API de acceso...

La página que uso es isbnbd.com. Tengo mi API.
Cuando en la url es:
isbndb.com/api/v2/xml/[/url][mi api]/book/[ISBN]

La página se muestra así:
Código:

{
  "data" : [
      {
        "lcc_number" : "",
        "publisher_text" : "Molino",
        "dewey_normal" : "0",
        "dewey_decimal" : "",
        "urls_text" : "",
        "edition_info" : "Perfect Paperback; 2012-03-08",
        "title" : "Los juegos del hambre",
        "publisher_id" : "molino",
        "physical_description_text" : "5.4\"x8.3\"x1.5\"; 1.2 lb",
        "summary" : "",
        "subject_ids" : [],
        "isbn13" : "9788427202122",
        "author_data" : [
            {
              "name" : "Collins, Suzanne L.",
              "id" : "collins_suzanne_l"
            }
        ],
        "awards_text" : "",
        "book_id" : "los_juegos_del_hambre_a02",
        "notes" : "",
        "language" : "",
        "title_long" : "",
        "marc_enc_level" : "~",
        "isbn10" : "8427202121",
        "title_latin" : "Los juegos del hambre",
        "publisher_name" : "Molino"
      }
  ],
  "index_searched" : "isbn"
}

:confused:

Neftali [Germán.Estévez] 07-07-2014 17:41:50

Por lo que describes, es muy parecido al ejemplo que se describe aquí.
Utiliza las Indy.
Deberías obtener el resultado en JSON, después sólo te queda extraer los datos necesarios.
En el link puedes descargar el proyecto de ejemplo con código incluido.

El código será similar a este:

Código Delphi [-]
// ini
IdHTTP.ReadTimeout := 30000;
IdSSL :=TIdSSLIOHandlerSocket.Create(nil);  // SSL
 
IdHTTP.IOHandler := IdSSL;
IdSSL.SSLOptions.Method := sslvTLSv1;
IdSSL.SSLOptions.Mode := sslmUnassigned;
idHTTP.HandleRedirects := True;
 
// Montamos la cadena a solicitar
s := AnsiReplaceText(FArtista, ' ', '+') +
'+' +
AnsiReplaceText(FTitulo, ' ', '+');
s := Format(INI_URL, [s, FNumResults]);
 
// Proteccion para solicitar datos
try
// Obtener resultado
idHTTP.Get(s, ms);

En tu caso más sencillo, pues la parte de SSL no la necesitaras.

conik500 08-07-2014 17:17:06

No me entero...
 
Me lo podrías repetir por favor más detalladamente?

Muchas gracias:(

mamcx 08-07-2014 20:16:36

Ya te dieron lo necesario para completar la tarea (y mas). Si realmente estas muy novato en programación, es mejor que le des una repasada a un curso sobre el tema, ya que eso de estar usando código sin tener claras las bases no es practico.

Neftali [Germán.Estévez] 09-07-2014 11:16:24

Cita:

Empezado por conik500 (Mensaje 478821)
Me lo podrías repetir por favor más detalladamente?

Muchas gracias:(

En el link que te he puesto tienes el proyecto completo. Con código y comentado.
Puedes descargarlo, ejecutarlo, ver cómo funciona y cambiar lo que necesites.

Si necesitas más ejemplos, en el FTP del club, hay más (seguro) pues es un tema que ya hemos comentado otras veces.
Si hay algo concreto coméntalo, pero el código es bastante sencillo y claro.

conik500 21-09-2014 15:39:40

Hola! Como puedo instalar la libreria JSON en delphi 7?
Muchas Gracias por la respuesta


La franja horaria es GMT +2. Ahora son las 06:55:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi