Foros del Web » Programando para Internet » PHP »

Extraer Informacio de una web externa

Estas en el tema de Extraer Informacio de una web externa en el foro de PHP en Foros del Web. Buenas noches señores del foro de PHP en este momento me encuentro en una emergencia estoy tratande de tomar una informacion consultada en una web ...
  #1 (permalink)  
Antiguo 30/01/2012, 19:31
 
Fecha de Ingreso: enero-2012
Ubicación: tachira
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Extraer Informacio de una web externa

Buenas noches señores del foro de PHP en este momento me encuentro en una emergencia estoy tratande de tomar una informacion consultada en una web externa y pasarla a mi web personal.

Bueno garacas a ustedes mucho antes he resolvio muchos preblemas de PHP gracias por apoyar a las comunidades de desarrolladores.

Yo encontre un ejemplo echo en VB donde toma algunos datos de una web y los pasa a excel mediante una macro, yo quisiera hacerlo para php. bueno aqui os dejo el codigo echo en VB para una macro en excel


Sub Cotizacion_del_dolar()
'Ocultamos el procedimiento
Application.ScreenUpdating = False
'Si hay errores, que continúe
On Error Resume Next
'pasamos a una variable, la página de la
'que vamos a sacar la información
web = "http://www.finanzas.com/cotizacion/dolar-usa-euro.htm"
'pasamos la parte que rodea al texto que
'nos interesa, a variables
principio = "<p id=""euros"">"
final = "<p class=""estado"
'miramos la 1ª fecha que aparece en la página,
'y que corresponde a la de la cotización del dólar
fecha_y_hora = "<p class=""hora-fecha"">"
'creamos el objeto xmlhttp
Set xml = CreateObject("Microsoft.XMLHTTP")
'accedemos a la página web
xml.Open "POST", web, False
'mandamos el contenido
xml.Send
'pasamos el contenido a una variable
texto = xml.responseText
'miramos en que nº de carácter aparecen los textos
'que envuelven la información que necesitamos.
'Primero con la posición inicial
posicion1 = InStr(texto, principio)
'ahora con la posición final
posicion2 = InStr(texto, final)
'ahora con la fecha
posicion3 = InStr(texto, fecha_y_hora)
'recuperamos el texto que hay entre esas dos posiciones
dato = Mid(texto, posicion1, (posicion2 - posicion1))
'si no hay errores, que haga lo que tiene que hacer
If Err = 0 Then
'creamos un array separando los elementos
'por el caracter " <strong>"
cotizacion = Split(dato, " <strong>")
'ahora se nos habrán formado 2 elementos separados por "<strong>",
'pero solo nos interesa el 1º de ellos (empieza por 0,1,2...),
'pero le quitaremos el "<p id="euros">" del principio
cotizacion(0) = Replace(cotizacion(0), "<p id=""euros"">", "")
'Escribimos el dato
Range("B9") = "Cotización del dólar:"
Range("C9") = CSng(cotizacion(0))
Range("D9") = "euros = 1 dólar"
'convertimos las unidades a dólar/euro
Range("C10") = CSng(1 / Range("C9"))
'mostramos 5 decimales
Selection.NumberFormat = "#,##0.00000"
Range("D10") = "dólares = 1 euro"
'ahora cogemos los datos de la fecha y la hora
'y como sabemos que la cadena '<p class="hora-fecha">'
'tiene 22 caracteres, los sumamos para obtener la hora
hora = Mid(texto, (posicion3 + 22), 5)
'ahora sumamos 28, porque la cadena
''<p class="hora-fecha">hh:mm ' tiene 28 caracteres
fecha = CDate(Mid(texto, (posicion3 + 28), 10))
Range("B12") = "Fecha:"
Range("C12") = fecha
'le damos formato de fecha
Range("C12").NumberFormat = "dd/mm/yyyy"
Range("B13") = "Hora:"
Range("C13") = hora
'le damos formato de hora
Range("C13").NumberFormat = "hh:mm"
'si hay errores, mostramos un mensaje
Else
Range("B9") = "Cotización del dólar:"
Range("C9") = "Imposible obtener la cotización"
End If
'imprimimos la ruta de la fuente desde
'la que obtenemos la información
Range("B7") = "Fuente:"
ActiveSheet.Hyperlinks.Add Anchor:=Range("C7"), Address:=web
'limpiamos el objeto
Set xml = Nothing
'Mostramos el procedimiento
Application.ScreenUpdating = True
End Sub


-------------------------------------------------------------------
  #2 (permalink)  
Antiguo 30/01/2012, 19:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Extraer Informacio de una web externa

Lee lo siguiente: http://www.forosdelweb.com/f18/aport...equest-724214/

Saludos.
  #3 (permalink)  
Antiguo 30/01/2012, 20:14
 
Fecha de Ingreso: enero-2012
Ubicación: tachira
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Extraer Informacio de una web externa

amigo ahy no pude ver nada que me pudiese ayudar tendre que volver a leer de nuevo pero por si acaso lo que quiero yo es de una pagina que no es mia es externa de otra persona tomar ciertos datos que alli se consultan y pasarlo a mi pagina ejemplo mi pagina tiene un campo de texto y ahy coloco un numero el cual valido. la otra pagina solo teiene un campo y un boton buscar yo quiero q el numero que yo envie des mi pagina aga la busqueda en la otra pagina el cual genera una respuesta y esa respuesta pasarla a mi web par insertarla em mi base de datos

garcias por leer mi tema y si no me explique me avisa para poder expresarme mejor
  #4 (permalink)  
Antiguo 30/01/2012, 20:22
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Extraer Informacio de una web externa

exactamente que quieres sacar de esa página?
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 30/01/2012, 20:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Extraer Informacio de una web externa

El aporte que te pase es para precisamente eso, hacer un request HTTP a otro sitio y extraer sus datos.

Etiquetas: externa, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:40.