Capturar datos de otra web en PHP
A veces es necesario extraer datos “públicos” desde alguna fuente en internet, en PHP, lo podemos hacer con un GET y una que otra expresión regular.
Como en todo, hay varias formas, pero creo que la más sencilla es utilizar la función file_get_contents para realizar un simple GET y obtener el contenido del sitio web.
La función file_get_contents soporta varios wrappers, desde un archivo local (ejemplo /tmp/my-file) a una url http, pasando por ftp, scp, etc. (más información sobre wrappers).
Vamos a extraer la UF desde el sitio www.terra.cl/valores/
Al analizar el código fuente del sitio, podemos ver que la UF se encuentra en el siguiente trozo de código
<tr bgcolor="EFEBE7"> <td align="right" class="texto2">UF : </td> <td class="texto2"><b>22.213,43</b></td> </tr>
Solo nos queda realizar una expresión regular que sea capaz de representar al patrón del trozo de código y la sección que deseamos capturar.
<?php // Example by deerme.org $data = file_get_contents("http://www.terra.cl/valores/"); if ( preg_match('|<td align="right" class="texto2">UF : </td>\s+<td class="texto2"><b>(.*?)</b></td>|is' , $data , $cap ) ) { echo "UF ".$cap[1]; }
Si ejecutamos nuestro script (vía web o por consola) obtenemos la UF de hoy a través de Terra xD.
Gracias por compartir conocimiento.Esta muy interesante la solución, pero en caso de querer datos que no están explicitamente en el código fuente del sitio, cómo podrías recogerlos para usarlos en tu web?
Por ejemplo de esta web:
http://www.mismarcadores.com/futbol/peru/torneo-descentralizado/
He mirado el código fuente y no aparecen los resultados de los partidos, cómo puedo acceder a ellos para usarlos en mi página php?
Hola deerme.org tengo una super pregunta, necesito sacar una tabla de http://www.dfb.de/allianz-frauen-bundesliga/statistik/ewige-tabelle/?no_cache=1 y despues esa misma tabla pasarla a una pagina web y que se actualize en tiempo real, es posible? como lo hago??
Hola David.
Efectivamente ese sitio no “imprime” los resultos en el código fuente, si no, los extrae de forma asincrona con una llamada AJAX. Prueba la pestaña de red de Firebug, puedes ver que el sitio realiza una llamada a una url d.mismarcadores.com/x/feed y le pasa como parametros ciertos id (los cuales deben indetificar al pais, liga, etc.).
Para extraer esos datos, es más facil si utilizar CURL, ya que nos permite inyectar de una forma sencilla los header de la petición HTTP (el sitio valida que la llamada tenga ciertos headers especifcios). Prueba el siguiente código, verás que imprime los resultados.
Ojo, debes eliminar el espacio entre http y :, ubicado en la primera instrucción y en el referer (lo hago para que el wordpress no modifique esa linea)
Eso si, devuelve todo en una sola línea, ahora debes parsear los datos, para eso debes identificar que carácteres utiliza para el salto de registro, salto de campo, etc.
Saludos
Uow! GRACIAS, ers un grande.
Hola un saludo muy bueno tu aporte, pero me podrias ayudar tengo problemas en esta web quiero obtener esos datos porfavor se te agradece
Gracias
http://admision.unprg.edu.pe/siad/s_resultados/r_admision/busquedaescuela.php?idescuela=3&modalidad=O&buscar=Buscar
Hola Miguel
No es tan complicado, eso si, debemos anotar que datos se envian en el POST que se hace a la URL. Te dejo un pequeño ejemplo que extrae los datos para dos tipos de carrera en ese sitio.
(Ojo que agregue un espacio en el string CURLOPT_URL http, para que el wordpress no modifique dicha línea)
hola estuve analizando los código y lo quise implementar, pero no me resulto
necesito sacar de esta pagina http://www.pasosfronterizos.gov.cl/cf_pehuenche.html
el dato
Observaciones Abierto
quiero ver si me puedes ayudar por favor.
Muchas gracias desde ya
Hola Anibal, es posible que ya tengas la solución, de todas formas te dejo la extracción con file_get_contents.
PD: Recuerda eliminar el espacio en la especificación del prótocolo (http) que ingrese intencionalmente (para que wordpress no me haga el reemplazo por un enlace)
hola amigo e mirado tu código y quiero implementarlo en esta pagina web pero no me deja http://www.registraduria.gov.co/servicios/censo.htm
quiero sacar de hay todos los datos de los campos
departamento,municipio,puesto,dirreccion del puesto,fechade inscripcion,mesa
hola luis
veo que me llevas años de ventaja en tu codigo y tengo la misma necesidad tuya me podrias colaborar con la misma necesidad que tengo y ademas que pueda consultar tambien desde
http://siri.procuraduria.gov.co:8086/CertWEB/Certificado.aspx?tpo=1 que me trae la cedula y nombre
favor colaborarme
asi lo e puesto pero no me sale e puesto para que llame solo el campo departamento y no me sale nd xd
<?PHP
// Example by deerme.org
$data = file_get_contents('http://www.registraduria.gov.co/servicios/censo.htm?nCedula=1045704314&buscar4=Buscar'
;
if ( preg_match('|Mesa(.*?)|is’ , $data , $cap ) )
{
echo “Departamento:”.$cap[1];
}
?>
<?PHP
$data = file_get_contents('http://www.registraduria.gov.co/servicios/censo.htm?nCedula=1045704314&buscar4=Buscar'
;
if ( preg_match('|Mesa(.*?)|is’ , $data , $cap ) )
{
echo “Departamento:”.$cap[1];
}
?>
if ( preg_match(‘|Mesa(.*?)|is’ , $data , $cap ) )
Hola Luis
He mirado la fuente y si miras el código fuente, te puedes dar cuenta que el sitio html utiliza un iframe, finalmente la página real es php. Te dejo unas lineas que son capaces de extraer los datos, esta vez utilizando DOM, ya que es más facil extraer datos (tambien se podria hacer con una expresión regular).
(PD: Recuerda eliminar el espacio en http)
Buen día hermano.
estoy practicando en obtener la data de wunderground, dime si lo siguiente está bien y disculpa.
de la pagina
view-source:http://www.wunderground.com/sky/ShowSky.asp?TheLat=8.289000&TheLon=-62.723000&TimeZoneName=America/Caracas
<?php
;
$data = file_get_contents("view-source:http://www.wunderground.com/sky/ShowSky.asp?TheLat=8.289000&TheLon=-62.723000&TimeZoneName=America/Caracas"
if (|preg_match(Crepúsculo civil\s (.*)|is’ , $data , $cap ) )
{
echo “Crepúsculo civil “.$cap[1];
Esta bien?
Hola Jose
En teoría podría estar bien, el problema, es que el sitio cambia el idioma según el languague que indica el navagedor, si no se indica, entrega los datos en Ingles. A si que es más sencillo extraer los datos con los nombres en ingles.
A veces es mejor usar el DOM para extraer datos (especialmente cuando estan en tablas). Te pego un ejemplo para extraer los datos:
Si lo ejecutas, tendrás los siguientes datos
Saludos
PD: Recuerda eliminar los espacios de la url
hola amigo pero si yo al momento de digitar otro numero de cedula cambiaria el url de la pagina no me serviria este codigo
loadHTML($source);
$xpath = new DOMXPath( $html );
$result = array();
// Cada TR
$trs = $html->getElementsByTagName(“tr”);
foreach ( $trs as $tr )
{
// Cada TD
$title = $tr->getElementsByTagName(“td”)->item(0)->nodeValue;
$value = $tr->getElementsByTagName(“td”)->item(1)->nodeValue;
echo $title . “\t” . $value.”\n”;
$result[$title] = $value;
}
//print_r($result);
loadHTML($source);
$xpath = new DOMXPath( $html );
$result = array();
// Cada TR
$trs = $html->getElementsByTagName(“tr”);
foreach ( $trs as $tr )
{
// Cada TD
$title = $tr->getElementsByTagName(“td”)->item(0)->nodeValue;
$value = $tr->getElementsByTagName(“td”)->item(1)->nodeValue;
echo $title . “\t” . $value.”\n”;
$result[$title] = $value;
}
//print_r($result);
bueno en resumen el codigo que me brindastes anteriormente no me serviria si ago la consulta con otro numero de cedula como podria hacer eso por si cambio de consulta con otro numero
Luis
Si se puede, depende de lo que quieres hacer, por ejemplo si vas a tomar el numero de cedula desde un parametro pot GET/POST solo debes modificar la url, ya que al final inserta la url, algo como
Ahora si tienes una lista de cedulas a consultar (en un arreglo o son datos que estaban en db), debes iterar en un bucle para extraer el dato de cada licencia, algo como:
Saludos
Mi pana da un error en la linea 11 y 12
Notice: Trying to get property of non-object in C:\Program Files\EasyPHP-DevServer-13.1VC9\binaries\home\codesource.php on line 11
Notice: Trying to get property of non-object in C:\Program Files\EasyPHP-DevServer-13.1VC9\binaries\home\codesource.php on line 12
Notice: Trying to get property of non-object in C:\Program Files\EasyPHP-DevServer-13.1VC9\binaries\home\codesource.php on line 12
Si, sucede que cuando itera, algunos elementos de la busqueda con contiene los elementos que vamos a acceder, lo ideal sería verificar que sea un objeto con elementos interno, pero tambien un quix fix sería agregar un @ al inicio del comando en la línea (despues de la asignación). algo como
Buenos dias
Estoy intentando obtener algunos datos de esta página http://madrid.salir.com/restaurantes y no lo consigo.
Los datos concretos son (te incluyo el codigo fuente):
………….
…………..Restaurante-Terraza Kira
……………
……………..Cocina de mercado -
Madrid,
Aravaca,
Osa Mayor, 70.91 143 68 56
Con los puntos he eliminado el contenido que no necesitaría.
Espero que me puedas ayudar.
Muchisimas gracias por adelantado
Al enviarlo me ha eliminado el codigo, pero los datos concretos serían:
Latitud
Longitud
Nombre del Restaurante (ej.:Restaurante-Terraza Kira)
Especialidad (ej.:Cocina de mercado)
Ciudad/Distrito (ej.: Madrid, Aravaca)
Direccion: (ej.: Osa Mayor, 70)
Telefono: (ej.: 911436856)
Disculpa de nuevo las molestias que te pueda ocasionar.
Un saludo
Hola, primero que todo gracias por lo que haces de contestar con tanta paciencia cada uno de nuestros post.
te comento:
Trabajo en un un medio digital de noticias y necesito hacer un landingPage que solo muestre los titulares y y cada vez que cambien, estos también cambien en el landingPage el sitio es http://www.redmaule.com – he intentado hacerlo como lo indicas pero no puede conseguir el resultado esperado,
Serías tan amable de darme una mano con esto?
Muchas gracias!
Hola, gracias por la ayuda que puedas darme, he tratado de armar con lo que hay en la página pero en este caso se complica con una url (imagendia.aspx?fed=KdSr3GFhsIl) que antecede a lo que necesito (aDilIop39o0.jpg):
Descargar la imagen del día aquí:
Vale aclarar que el código fuente se mueve mucho con información así que esa parte es casi lo único que se mantiene pero un día está arriba otro día abajo.
Gracias.
Creo que no logró publicarse:
Descargar la imagen del día aquí:
Hola, primero felicitar tu trabajo
Cuando intento capturar datos de otra web hay algo que no se resolver y este ejemplo me puede servir para explicarlo:
UF :
22.213,43
ahora imagina que en vez de EFEBE7 es la palabra León (ojo a la tilde)
UF :
22.213,43
No soy capaz de extraer información cuando existe hay una tilde o la letra ñ
Gracias
tr bgcolor=”EFEBE7
td align=”right” class=”texto2″UF : td
td class=”texto2″ b 22.213,43 b td
tr
intentaba poner el primer código de esta página, lo dejo así para que se entienda
(No soy capaz de extraer información cuando existe hay una tilde o la letra ñ)
gracias
Hola estuve intentando aplicar tus ejemplos pero no tengo éxito, tengo esta página http://www.deperu.com/celulares/ lo que sucede es que se envía un numero telefónico por método POST y la pagina devuelve si el numero es de operador CLARO O MOVISTAR; cuando hago el envío basándome en tus ejemplos solo carga la pagina con el numero pero no imprime el operador, esto es lo que tengo en mi código. Gracias.
‘#numero_celular’,
“btnB” => ‘Conocer !’
);
$http_request = http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “http://www.deperu.com/celulares/”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1″);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $http_request);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
echo $output;
curl_close($ch);
no se si es muy tarde para responder, pero mira en su cod. fuente, al final está la api, el envias el numero y te da el operador, asi de facil
Hola, queria saber como obtener el valor “NP” de esta pagina
http://www.neopets.com/inventory.phtml
Esto es lo que intento y no sale :S
<?php
;
// Example by deerme.org
$data = file_get_contents("http://www.neopets.com/inventory.phtml"
if ( preg_match('| NP: \s+(.*?)|is’ , $data , $cap ) )
{
echo ” NP: “.$cap[1];
}
?>
Omar
Sucede que el sitio pide autentificación, si quieres dame alguna credencial con cual probar y te pudo dar un código de ejemplo que funcione.
Saludos
Lo olvidaba :C
Nombre de usuario: ateismoilustrado
Contraseña: 33213321
$data = file_get_contents(“http://www.geoiptool.com/es/?IP=” .$ip);
Gracias por el tutorial amigo, mira estoy poniendo esto para obtener datos del usuario con su ip y ponerlos en mi pagina, segun yo el codigo esta bien pero no imprime nada, podrias ayudarme gracias
<?php
$ip=$_SERVER['REMOTE_ADDR']; //A la variable ip le asignamos la ip remota
if ( preg_match('|Ciudad:(.*?)|is’ , $data , $cap ) )
{
echo “Ciudad: “.$cap[1];
}
?>
perdon puse mal el codigo
Primero debes poner $ip=****** y despues data=-*****
Define la variable, luego usala
Hola que tal??
He revisado todos los comentarios y antes que nada quiero agradecer que te tomes el tiempo para contestar a todas las preguntas (hoy dia pocos lo hacen solo por el gusto de compartir conocimiento). Tengo un problema similar al de un comentario anterior, que puedo hacer si es necesario autentificarme antes de poder acceder a los datos?? La pagina utiliza java para la autentificacion?
Gracias nuevamente.!!
Hola Cristian, te dejo aqui el código que es capaz de consultar la compañia de un celular desde el sitio.
Recuerda corregir la url en el código (ya que esta con espacios), de todas formas aquí tienes una copia del código https://github.com/deerme/deerme.org/blob/master/php/harvest/curl-example-mobile-phone-pe.php
Hola Omar, lo primero que debes hacer es realizar el proceso de login en el sitio, guardar la cookie y luego hacer la segunda petición con la cookie generada.
Te dejo una posible solución que imprime este valor:
The site contain a NP: 29,935
Recuerda corregir la url en el código (ya que esta con espacios), de todas formas aquí tienes una copia del código https://github.com/deerme/deerme.org/blob/master/php/harvest/curl-example-auth-neopets.com.php
Hola Luis
Efectivamente es uno de los casos mas usuales. Lo que hay que hacer es simular todos los pasos que realizas en el sitio, Siguiendo los POST/GET necesarios, además de guardar las cookie en cada paso y anexarlas en la siguiente petición.
En el comentario anterior puedes encontrar una solución funcional a como obtener un dato del sitio neopets.com que requiere un login previo.
Si tienes dudas, no hay problema.
Saludos!!
Buenas consulta si yo quiero que de mi web intruducir en valor en otra ? y luego de esa busqueda tomar los datos que necesito veo que usted los toma .
no se si entiende mi consulta.
Hola Koke, si es posible, pero requiere un poco de experiencia. Supongamos el dominio a.com (tuyo) y b.com (donde queremos extraer el resultados), deberias seguir los sgtes pasos referenciales:
- Desplegar un formulario de busqueda
- Script que lea los datos del formulario y luego simule una busqueda en el dominio b.com realizando los GET y POST necesarios (usando por ejemplo php_curl) y capturar los datos resultantes.
- Entregamos los datos capturados al cliente inicial
Siguiendo esos pasos, ya podría lograr lo que quieres.
Saludos!!
Excelentes aportes men, aunque yo implementaba otra solucíon para lo que pedía Luis, pero al final era lo mismo, extraer los datos de la registraduria por # de cedula y cree un script que los fuera ingresando directamente a una base de datos con jquery-ajax !
Geniales tus aportes, un saludo desde la sucursal del cielo
Hola!! necesito una ayuda!! yo tengo un formulario que deseo llenar con unos datos de esta pagina http://www.cne.gob.ve/web/index.php, mi idea es colocar un numero de cedula en mi formulario y darle “buscar ” me consulte en esta pagina en el lado derecho, se busque y esa informacion que me trae la pagina traerla a mi formulario. existe alguna forma?? ayuda por favor
Estimado
muchas gracias por responder a todos nosotros que necesitamos de tu ayuda
quería pedirte otro favor
necesito tomar las 3 ultimas noticias de esta pagina http://www.redmaule.com/category/titular/
ya que esto se va actualizando dentro del dia y necesito obtener las ultimas entradas que se van publicando
me puedes ayudar por favor?
muchas gracias desde ya
que tal ayudeme con esto ya me tiene locoo, trate hacer con todos los metodos pero con ninguno m sale ayudeme, deseo sacar solo el nombre de ISP d esta pagina http://whatismyipaddress.com/ip/173.252.112.112 pero q pueda cambiar la ip, y solo mostrarme el ISP, x favor ayudamee gracias
Hola que tal no quiero molestar pero ya no se que hacer, estoy haciendo una pagina para ciegos y tengo un error.
quiero tomar el audio de la pagina:
http://vozme.com/index.php?lang=es
y lo hago de esta manera.
$text,
“lang”=>”es”,
“gn”=>”ml”,
“interface”=>”full”
)
);
$opts = array(‘http’ =>
array(
‘method’ => ‘POST’,
‘header’ => ‘Content-type: application/x-www-form-urlencoded’,
‘content’ => $postdata
)
);
$context = stream_context_create($opts);
if ($htmldocwithlink = file_get_contents(“http://vozme.com/text2voice.php”, false, $context))
{
$htmldoc = new DOMDocument();
$htmldoc->loadHTML($htmldocwithlink);
$soundfilelink=$htmldoc->getElementById(‘player’)->getElementsByTagName(‘a’)->item(0)->getAttribute(‘href’);
$soundfile=file_get_contents($soundfilelink);
file_put_contents($filename,$soundfile);
echo (‘
Saved mp3 uri : ‘.$_SERVER['SERVER_NAME'].’/webtts/’.$filename.’‘
);
}
else echo(“Audio could not be saved”);
}
?>
Y me funciona perfecto pero cuando paso los 100 caracteres no genera el audio, implemente tu método de captura pero no se porque no guarda el audio, agradezco tu ayuda gracias saludos.
buenas yo estoy intentando sacar los resultados de la loteria, euromillones, primitiva, etc de la siguientes web http://www.loteriasyapuestas.es/es/buscador?type=results y tambien quiero poder extraer los listados de premios segun los aciertos. He visto esta pagina pero para que me muestre los premios tengo que introducir manualmente mis numeros y eso no se como se podria hacer automaticamente con PHP (por ejemplo para bonoloto seria esta pagina http://www.loteriasyapuestas.es/es/bonoloto?drawId=848801154)
¿podeis ayudarme?, muchisimas gracias
Hola, me gustaría poder obtener los valores en tiempo real de distintas divisas de la siguiente web http://www.fxstreet.es/cotizaciones/divisas-tiempo-real/?id=majors%3beurusd%3busdjpy%3bgbpusd%3busdchf%3baudusd%3busdcad%3bnzdusd%3busdcny%3busdhkd%3busdsgd%3busdnok%3busddkk%3busdsek%3beurnok%3beurdkk%3beursek%3beurchf%3beurjpy%3beurgbp%3beuraud%3bgbpchf%3bgbpjpy%3bgbpcad%3bgbpaud%3baudjpy%3bcadjpy%3bchfjpy%3bnzdjpy%3baudcad%3baudchf%3baudsgd
Estoy interesado en obtener el valor del campo “Ultimo”, pero no quiero mostrar ese valor, sino necsito almacenarlo en un fichero para ir creando una base de datos automáticamente. Supongo que debería haber un script que se ejecute periódicamente cada x segundos y que vaya añadiendo muestras al fichero.
¿Podríais ayudarme?
Muchas gracias de antemano
Hola quisiera capturar los datos dela bolsa de santiago, http://www.bolchile.cl/AccionesPorPeriodo?mostrar=MERCADO_HOY&menu=EST_MERCACC
las empresas y sus valores en php me podrian ayudar.
les estare muy agradecido. .
hasta pronto
hola estoy tratando de sacar los precios de las acciones de la bolsa de santiago en php
http://www.bolsadesantiago.com/Theme/preciosacciones.aspx
soy nuevo en esto tengo conocimiento en php pero esto me supera.
gracias
Buenos días, antes que nada muchas gracias por tu ayuda, es muy valorable lo que haces; en mi caso necesito tomar las cotizaciones de la moneda desde esta web: http://www.brou.com.uy/web/guest/home y no consigo hacerlo, intento traer el div entero pero me trae otros datos, desde ya muchas gracias!!!
Estimado, exelente tus aportes, Lo replique con el mismo sitio y funciona una maravilla. Quiero replicar con el sitio del wundergroung, capturando valores de temperatura, pero no me sale nada. Te pido por favor si me lo puedes revisar te lo agradeceria mucho.
Este es el codigo
<?php
;
// Example by deerme.org
$data = file_get_contents("http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=ICRDOBAC12/"
if ( preg_match('|Temperatura:\s+(.*?)|is’ , $data , $cap ) )
{
echo “Temperatura”.$cap[1];
}
AQUI UN DESAFIO Q NO LOGRO RESOLVER
Necesito capturar esta lista de torneos de ajedrez q se muestran en http://www.chess-results.com/SpielerSuche.aspx?lan=2 solo enviandole las variables por post desde ella misma. Probé el codigo usual para esto y no me funcionó: Mi codigo fué:
‘, $codigo);
$codigo2 = between(‘name=”__EVENTVALIDATION” id=”__EVENTVALIDATION” value=”‘, ‘” />’, $codigo);
// _ctl0_P1_txt_FED es la federacion y _ctl0_P1_txt_von_tag es la fecha y estoy probando con diciembre 2013
$data = array(‘_ctl0_P1_txt_FED’ => ‘cub’,
‘_ctl0_P1_txt_von_tag’ => ’201312′,
‘__VIEWSTATE’ => ‘$codigo1′,
‘__EVENTVALIDATION’ => ‘$codigo2′,
);
$options = array(‘http’ => array(
‘method’ => ‘POST’,
‘content’ => http_build_query($data)
));
$context = stream_context_create($options);
$page = file_get_contents($url, true, $context);
echo $page;
?>
SOLO NECESITO el HTML de la web en una cadena
Hola, muy buen trabajo, pero se me complicó al querer sacar los siguientes datos … paso el HTML y el preg_match
Santa Fe
Paraná
2,82
-0,03
2,85
5,30
5,70
Lo que necesito es sacar el valor 2,82 (que sería la altura del rio parana en la ciudad de santa fe)
el codigo que tengo es el siguiente
$data = file_get_contents(“ht tp://fich.unl.edu.ar/cim/alturas-parana/”);
if ( preg_match(‘|Santa Fe Paraná (.*)|is’ , $data , $cap ) )
{
//$datos_rio = $cap[0];
echo trim($cap[1]);
//print_r($cap[0][1]);
}
pf: puse un espacio en la URL para que lo tóme el wordpress
Salu2 y gracias !!!!
Buen día de verdad me le quito el sombrero…
He entendido todo y lo he probado y me funciona cuando conozco la URL y los datos que se pasan para obtener la respuesta.
Pero (siempre hay uno) tengo que hacer una consulta a la pagina: rues.org.co/ para hacer una verificación sistematizada de las empresas que se registran en nuestro portal por Número de identificación (NIT), esta consulta es por ajax y no se como hacer (el ejemplo de arriba de ajax ya no esta disponible porque la pagina la cerraron.
Mil gracias de antemano
Estimado, he tratado de probar con sus ejemplos sin resultados positivos, necesito extraer toda la informacion desplegada en esta pagina
http://www.nexchannel.cl/Nex/noticias/noticia_pinternet.php?nota=10278636
De ante mano muchas gracias por cualquier aporte
hola muy bueno amigo! logre sacar información pero tengo un problema, ¿como puedo sacar mas de 1 dato? ejemplo tengo esto en la pagina
PRIMER TITULO y despues tengo mas abajo lo mismo
SEGUNDO TITULO
¿como puedo obtener los 2 registros (o mas)? espero que me puedas ayudar te lo agradezco mucho gracias!
Como puedo ver el código de un archivo php de una pagina web o descárgamelo a mi ordenador para analizarlo? muchas gracias
Buenas tardes, ¿podrías ayudarme a mi?, necesito hacer esto
Extracción de datos de colegio oficial médicos barcelona
Buenos días, Necesitaría sacar de unas tablas con id determinado de cada tabla la información que hay en cada celda parta luego guardarla en una base de datos mysql, el ejemplo de las tablas de las que queremos recuperar la información sería la siguiente:
Nom:APELLIDO APELLIDO, NOMBRE NOMBRE
Número:123456789
EXERCENT
AL•LERGOLOGIA
MEDICINA INTERNA
AdreçaCPComarcaPoblacióTelèfonCorreu electrònic
PG.DE GRACIA, 1, 1-208007
BARCELONES
BARCELONA
9312345678
DOS DE MAIG, 1-3, BXS-1 08912
BARCELONES
BADALONA
9312345678
Lo que tengo que extraer de la primera tabla, denominada id=”nombre”, sería el APELLIDO APELLIDO, NOMBRE NOMBRE completo y el número que aparece 123456789 y el dato que aparece EXERCENT, En esta tabla sólo existirá un registro, de nombre, un registro del número y un registro de estado.
Lo que necesito recuperar de la segunda tabla id=”especialidad”, es la especialidad, aquí puede que haya un registro o varios, como es este el caso, que hay dos registro, uno de que AL•LERGOLOGIA, y otro que es MEDICINA INTERNA, pero pueden haber más, como máximo cuatro o cinto.
Lo que tengo que extraer de la tercera tabla que es id=”dirección” es el nombre de la calle, el cod postal, la población, la provincia, el teléfono, y ya está la imagen del siguiente td no la necesito. En este caso al igual que en el anterior, existe la posibilidad de que hayan dos filas o tres filas de datos, en la mayoría sólo tendrán una única fila.
He intentado hacer un bucle con foreach para recorrer todas las celdas y sacar los datos de las mismas, y pasar los datos a un formulario para acabar de rellenar el dato correo electrónico que es un dato que tenemos que introducir a mano, pero no sé que hacer cuando existen varias direcciones y varias especialidades.
Podrías ayudarme?
Lo que necesito yo es sacar informacion DEL TIPO DE CAMBIO de la web:
http://www.cuantoestaeldolar.pe/
Interbancario
SUNAT-SBS
COMPRA Y VENTA
___________
Paralelo
EN LA CALLE
COMPRA Y VENTA
Saludos,
primero quiero agradecerte por todo lo que has aportado y enseñado se valora mucho.
He seguido muy atentamente todos los comentarios y ejemplos que están en la pagina, pero tengo una consulta sobre el código que le diste a jose
loadHTML($source);
$trs = $dom->getElementsByTagName(“tr”);
$record = array();
foreach ( $trs as $tr )
{
// Cada TD
$title = trim($tr->getElementsByTagName(“td”)->item(0)->nodeValue);
$value = trim($tr->getElementsByTagName(“td”)->item(1)->nodeValue);
if ( $title == “Actual Time” )
$record["actual_time"] = $value;
if ( $title == “Civil Twilight” )
$record["civil_twilight"] = $value;
if ( $title == “Nautical Twilight” )
$record["nautical_twilight"] = $value;
if ( $title == “Astronomical Twilight” )
$record["astronomical_twilight"] = $value;
if ( $title == “Moon” )
$record["astronomical_twilight"] = $value;
}
print_r($record);
ya que al momento de preguntar en el if solo me muestra los resultados de 1 sola palabra me explico solo me muetra el array de if ( $title == “Moon” ) y no de if ( $title == “Nautical Twilight” ) . He tratado de investigar y probar diversas cosas pero aun no me da resultado.
Ademas me gustaría saber si se puede que si no encuentra algo en el if me de algún resultado como por ejemplo no se encuentra ya que si le pongo un else tampoco funciona.
Ojala me puedas ayudar y de ante mano muchas gracias.
Disculpa se me había olvidado poner la pagina con la cual estoy haciendo mi script es esta
http://www.tibia.com/community/subtopic=worlds&world=Aldora
mi idea es buscar si algunos nombres se encuentran o no en la lista.
Gracias
Hola yo intento capturar los valores de esta página
http://www.bancochile.cl/cgi-bin/cgi_uf/ghuPemzt?pagina=inversiones%2Fmon_tasa%2Fcgi_uf&month=03&year=2014&forma=consultar , como lo puedo hacer ??
Saludos , quize tratar de sacar información del clima de esta pagina http://www.senamhi.gob.pe/main_prono_.php? pero me sale error en mi localhost.
<?php
$source = file_get_contents("http://http://www.senamhi.gob.pe/main_prono_.php?"
;
if(preg_match('|(.*?)\s+(.*?)|is’,$source,$cap))
{
echo $cap[1];
}
Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Host desconocido. in C:\wamp\www\ejemplo\peru.php on line 3
Warning: file_get_contents(http://http://www.senamhi.gob.pe/main_prono_.php?) [function.file-get-contents]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Host desconocido. in C:\wamp\www\ejemplo\peru.php on line 3
HOLA
ola a todos eme pueden ayudar en mi intento por capturar el tipo de cambio que se muestra en una web mi codigo es el siguiente lo tome del post pero no funciona talvez lo estoy usando de manera incorrecta.
$data = file_get_contents(“http://www.preciodolar.com/precio-del-dolar-en-peru”);
if ( preg_match(‘|(.*?)|is’ , $data , $capt ) )
{
echo $capt[1];
}
de antemno muchas gracias!!
Estuve tratando de muchas maneras pero no me arroja ningún resultado, necesito sacar el número de CW de http://oap-ar.nextelinternational.com:8080/waits_cc.php el codigo que estuve utilizando fue:
<?php
$data = file_get_contents("http://oap-ar.nextelinternational.com:8080/waits_cc.php"
;
if (preg_match('|CW: (.*?)|is’, $data, $cap )){
echo ‘CW: ‘ . $cap[1];
}
?>
Agradecería mucho si podés ayudarme.
hola, me podrias ayudar, como puedo enviar form data por pos, a una pagina y recibir los datos, esta es la pagina
http://www.sunarp.gob.pe/ConsultaVehicular/
COMO HAGO PARA CAPTURAR LOS DATOS DE ESTAS PAGINAS Y LLEVARLOS A MI WEB http://www.livescore.in/, http://www.marcadores.com/
COMO HAGO PARA CAPTURAR LOS DATOS DE ESTAS PAGINAS http://WWW.BET365.COM Y LLEVARLOS A MI WEB http://www.livescore.in/, http://www.marcadores.com/ ASI COM HACEN ESTAS PAGINAS
hola yo estoy queriendo capturar datos de un contador pero no aparece como te aparece a ti, sino como una funcion segun entiendo yo.
00:00:28
Como haria para extraer el dato y que se realice una funcion cuando el contador llegue a cero o a 00.00.01
escribeme necesitaria un presupuesto.
Que tal como haria para meter el codigo en una pagina mia html?
Estoy con el Dreanweaver y puse asi como tal lo ponen y nada
Me lo podrian armar para ya sacar bien despues los datos?
Lo estoy haciendo para una aplicacion que estoy armando
http://www.haysubtes.com/
Buenas tardes me gustaría saber si me puedes ayudar para obtener la información de la siguiente pagina http://www.banxico.org.mx/SieInternet/consultarDirectorioInternetAction.do?accion=consultarCuadro&idCuadro=CF101§or=18&locale=es
logro sacar los dos datos de las dos ultimas fechas pero el del primero no logro obtenerlo
Hola me gustaria sacar el valor de la UF de esta pagina
http://www.bcentral.cl/index.asp
le puse esto:
$source = file_get_contents(“http://www.bcentral.cl/index.asp”);
if ( preg_match(‘|UF(.*?)|is’,$source,$cap) )
{
echo $cap[1];
}
pero no me funciono podrias ayudarme?
Hola Victor, la pagina del banco central ha cambiado un poco, a si que debes ajustar la expresión regular, según lo que aparece ahora, este expresión debería funcionar.
Saludos
PD: Elimina el espacio en la url
Lo primero gracias por tu tiempo y tus ejemplos para que aprendamos los que no sabemos.
Podrias hacer un ejemplo de esto en node.js conectando con proxi y con login extracion de cookies gracias.
Hola Daeme:
Impresionante tu capacidad de trabajar el código.
Estaba preguntandome si es posible que me ayudes con esta pagina:
http://consultawebvehiculos.carabineros.cl/
Necesito un codigo en php que simplemente me indique si una patente esta encargada o no por robo.
Ej: hh 11 22 o WW 83 27
Gracias por tu ayuda.
Hola nuevamente:
Me gustaría saber si es posible extraer la información de un vehiculo desde la pagina de consorcio.
Ellos en su pagina de compra de seguro obligatorio SOAP, luego de poner un rut valido, permiten poner una patente y luego de ello despliegan datos del vehiculo, los cuales necesito capturar..
cualquier idea es bienvenida.
muchas gracias.
http://www.consorcio.cl/soap/adquiera_soap.asp
Hola. Quiero sacar un contenido de una web para insertarlo en la mía. En este caso, lo que quiero es obtener el contenido del id=”lh_caja_horasauxiliares” de esta URL http://www.eltestigofiel.org/oracion/liturgia.php pero no me aclaro. ¿Podrías ayudarme, por favor?
Muchas gracias
Hola, buenos días.
Necesito extraer datos de esta url: http://11870.com/k/teatros/es/es/valencia?p=1&o=0&v=list
¿Me podrías ayudar?
Hola, me ha gustado mucho tu blog.
Yo estoy intentando sacar la información de el titulo original, año y director.
http://www.filmaffinity.com/es/film352576.html
pero no lo consiguo, esta primera línea ya me da error
$source = file_get_contents(‘http://www.filmaffinity.com/es/film352576.html‘);
me podrías ayudar?
En java se podría conseguir en vez de utilizar php? como sería el código?
Saludos y gracias por adelantado.
Enrique.
hey necesito ayuda quiero extraer el contenido imagen de esta web de noticias y q publique el post en mi wp
http://maduradas.com si puedes ayudame
Saludos gente, Deerme.org, e visto los ejemplos de tus codigos, y nesecito ver como lo harias para optener los datos del rss de la pagina http://www.cubadebate.cu/feed, te lo agradeceria hermano, muchas gracias de antemano……..
Un saludo pude ver todas respuestas y estan geniales a mi me llego realizar eso tambien, no se si me puedes ayudar con esta pagina.
https://www.sicoes.gob.bo/general/frames.php?direccion=../contrat/procesos.php
quisiera mandarle en entidad “AGENCIA ESTATAL DE VIVIENDA”
te agradeceria mucho tu ayuda..
Hola necesito sacar el numero salido en esta pagina
http://www.juegosonce.es/wmx/dicadi/pub/premEstadistic/detalleEscrutiniocupon.cfm?fecha=20141116&tiposorteo=D
$fra=”http://www.juegosonce.es/wmx/dicadi/pub/premEstadistic/detalleEscrutiniocupon.cfm?fecha=”.$fe.”&tiposorteo=”.$di;
$source = file_get_contents($fra);
//echo $source;
if ( preg_match(“|\s+(.*?)|is”,$source,$cap) )
{
echo $cap[1];
}
else
{
echo “no”:
}
no me sale…
Si deseo obtener un dato que se actualiza, como una especie de reloj, como lo haría? envío la URL https://gogolclub.com/pruebasapuestas/index_reloj.html
hola doc. una colsula se puede cambiar varias veces el file_get_contents(“prueba”);
que consulte ese dado con un valor de la tabla de BD.
ejemplo tengo una lista donde se muestra urls
que al consulta pagina id= 01
se replique el campo “url” al codigo “file_get_contents(“prueba”);”
Luifer
Hola Dios te bendiga.
Estoy tratan de estraer los siguientes datos de una pagina web de una impresora como son el contador y el porcentaje ahi te dejo los links, para que por favor me ayudes con el codigo php y la verdad no tengo conocimiento de php, como se ejecuta el codigo. Actualmente lo hago con consultas actualizables de excel 2013 con el complemento power query pero se demora mucho y me bloquea el excel y aveces necesito utilizar otros archivos y se demora mucho
pero me ahora me acuerdo que no te puedo dejar los links, mejor te paso el codigo html para que por favor me ayudes:
codigo del porcentaje:
10)
document.write(“ ”)
else if(tonerLife > 0)
document.write(“ ”)
else
document.write(“ ”)
//–>
Tóner:
Listo
75)
document.write(“% “)
else if(tonerLife > 50)
document.write(“% “)
else if(tonerLife > 25)
document.write(“% “)
else if(tonerLife > 15)
document.write(“% “)
else if(tonerLife > 0)
document.write(“% “)
else
document.write(“% “)
}
//–>
38%
el numero ha extraer es
38%
revisando los otros comentarios halle la solución
gracias por la información que brindas
Hola, muy buena tu publicación, pero me gustaria saber como obtener los datos de un formulario que tengo en html ( el cual fue exportado desde otro sitio).
Tengo esto :
$data = file_get_contents(“C:\\emnope13.HTM”);
if(preg_match(‘|(?:(.+?)?)|is’ , $data , $cap ))
{
print_r($cap);
}
Esto me muestra lo que quiero pero una sola vez, y necesito que me muestre un arreglo completo. como puedo hacerlo?
Hola MemV
Disculpa por responder tarde xD, tal vez ya lo solucionaste, de todas formas, es por el uso de la función preg_match, que solo trabaja con la primera coincidencia.
En el caso que quieras trabajar con todas las coincidencias, debes usar preg_match_all , luego analiza la salida ($cap) con print_r para que puedas ver el contenido y analices como vas a recorrer el arreglo.
Saludos
Muy interesante la información que ha publicado, algo así es lo que realmente yo necesito, sin embargo no logro entender muy bien la captura de la info para mi caso.
Quisiera abusar de su gentileza y pedirle el favor si es posible y me explique como capturo ciertos datos de este link: http://www.tutiempo.net/tiempo/Neiva_Benito_Salas/SKNV.htm
La idea es llevar a mi sitio que construyo en HTML5 la información actual de viento, presión, temperatura. Esta información esta en una franja de color violeta.
Gracias por su ayuda.
Hola, queria saber como podría obtener todos los valores de esta pagina http://www.comuniazo.es y exportarlos a otra web
Esto es lo que intento y no sale :S
Gracias por compartir tus conocimientos y experiencias, con otro como yo, que recien se estan iniciando en este mundo de la programación.
Te quería consultar como puedo obtener datos de la siguiente url : “http://www.paginasamarillas.com.ar/”.
Desde ya muchas gracias.
hola amigo estoy creando una pagina de deportes y quisiera colocar los resultados de la barra izquierda que aparecen en esta web “http://mlb.mlb.com/es/index.jsp?c_id=mlb/” en mi pagina como podria hacer de antemano gracias y te felicito por tus aportes
Gracias amigo me funciono , pero como podria hacer un robot que rastree toda una web y copie el contenido ?
Hola Luis
Lo que quieres hacer se llamar generalmente web crawler y en general, lo que hace es algo repetitivo como lo siguiente:
- Visitar un sitio y extraer sus enlaces
- Visitar cada enlace para extraer contenido y si encuentra algún enlace nuevo, lo agrega a la lista
- Repitir hasta el infinito xDD
Hace varios años atrás, implemente un par de webcrawler, en PHP y Python, con el objetio de visitar enlaces, extraer palabras, de cada palabra calcular el hash md5 y sha1, y continuar con sus enlaces xD. Fue un proyecto interesante, pero el bot corriendo un par de días me genero demasiada información xDD.
Saludos
Hola he seguido tu code pero no puedo acceder al dato
http://www.sismologia.cl
$source = file_get_contents(“http://www.sismologia.cl/links/home.html”);
if ( preg_match(‘|(.*?)41 km al S de Mina Collahuasi3.5 Ml|is’,$source,$cap) )
{
echo $cap[1];
}
echo “si”;
?>
me respondí solo Gracias. me ayudo mucho tu post!
$source = file_get_contents(“http://www.sismologia.cl/links/tabla.html”);
if ( preg_match(‘|(.*?)(.*?)(.*?)|is’,$source,$cap) )
{
echo “Fecha: “.$cap[2];
echo “”;
echo “Lugar: “.$cap[3];
echo “”;
echo “Intencidad: “.$cap[4];
echo “”;
mas(“http://www.sismologia.cl”.$cap[1]);
}
function mas($url){
//echo $url;
$source = file_get_contents($url);
if ( preg_match(‘|Magnitud(.*?)|is’,$source,$cap) )
{
echo “Magnitud :”;
echo $cap[2];
echo “”;
}
if ( preg_match(‘|Profundidad(.*?)|is’,$source,$cap) )
{
echo “Profundidad: “;
echo $cap[2];
echo “”;
}
}
hola amigo,
quisiera saber como puedo sacar el precio de la compra y venta del dolar.
en la categoria de INTERBANK,
he intentado hacerlo y me genera pero con errores.
loadHTML($source);
$xpath = new DOMXPath( $html );
$result = array();
$trs = $html->getElementsByTagName(“tr”);
foreach ( $trs as $tr )
{
$title = $tr->getElementsByTagName(“td”)->item(0)->nodeValue;
$value = $tr->getElementsByTagName(“td”)->item(1)->nodeValue;
echo $title . “\t” . $value.”\n”;
$result[$title] = $value;
}
?>
y quisiera saber como generar la compra y venta del dolar de INTERBANK, gracias
Hola men!, sabes que me he estado cabeceando estos dias para poder captar el valor del dolar observado del banco central de esta web (http://si3.bcentral.cl/Indicadoressiete/secure/Serie.aspx?gcode=PRE_TCO¶m=RABmAFYAWQB3AGYAaQBuAEkALQAzADUAbgBNAGgAaAAkADUAVwBQAC4AbQBYADAARwBOAGUAYwBjACMAQQBaAHAARgBhAGcAUABTAGUAdwA1ADQAMQA0AE0AawBLAF8AdQBDACQASABzAG0AXwA2AHQAawBvAFcAZwBKAEwAegBzAF8AbgBMAHIAYgBDAC4ARQA3AFUAVwB4AFIAWQBhAEEAOABkAHkAZwAxAEEARAA=)
El problema es que necesito meter ese dato en un php:
function khipu_get_new_payment($email, $bankId, $value) {
$receiver_id = RECEIVER_ID;
$secret = SECRET;
$pre = 'A cuenta';
$tipo = 'USD SKRILL';
$subject = $value." ".$tipo;
$body = $pre." ".$email;
$bank_id = $bankId;
->aqui $amount = round($value*1.05*'''(Valor del Dolar)''' , 0 , PHP_ROUND_HALF_UP);
$payer_email = $email;
$notify_url = NOTIFY_URL;
$return_url = RETURN_URL;
$cancel_url = '';
$picture_url = '';
$transaction_id = '';
$custom = $email;
Onda necesito captar el valor del dolar observado y multiplicarlo por 1,0199
Ojala me puedas echar una manito.
Como Hago para capturar los datos que me devuelve esta paguina http://siri.procuraduria.gov.co:8086/CertWEB/Certificado.aspx?tpo=1
En el día de ayer monte un texto y hoy no lo veo. lo que coloque como hacia para capturar la información de siri.procuraduria.gov.co:8086/CertWEB/Certificado.aspx?tpo=1
Que pena ya la Veo
Holas osboom Como le hicistes para capturar los datos de esa pagina yo presento inconvenientes a la hora de capturas los datos que devuelve esta pagina siri.procuraduria.gov.co:8086/CertWEB/Certificado.aspx?tpo=1
metiendome en este mundo y maravilloso he tomado un ejemplo de los de arriba el cual es este codigo
loadHTML($source);
$xpath = new DOMXPath( $html );
$result = array();
// Cada TR
$trs = $html->getElementsByTagName(“tr”);
foreach ( $trs as $tr )
{
// Cada TD
$title = $tr->getElementsByTagName(“td”)->item(0)->nodeValue;
$value = $tr->getElementsByTagName(“td”)->item(1)->nodeValue;
echo $title . “\t” . $value.”\n”;
$result[$title] = $value;
}
print_r($result);
y no sale ningún erro pero me muestra solo
Array ( )
y no me sale lo que muestra la pagina en estos momentos
Bueno dandole al codigo he hecho esto
loadHTML($source);
$xpath = new DOMXPath( $html );
$result = array();
// Cada TR
$trs = $html->getElementsByTagName(‘div’);
foreach ( $trs as $tr )
{
// Cada TD
$title = $tr->getElementsByTagName(“strong”)->item(0)->nodeValue;
// $value = $tr->getElementsByTagName(“strong”)->item(1)->nodeValue;
echo $title . “\t” .”\n”;
$result[$title] = $value;
}
//print_r($result);
y me trae como 5 veces una información que vota la pagina
me sale lo siguiente
La información se encuentra en actualización. Por favor intente más tarde. La información se encuentra en actualización. Por favor intente más tarde. La información se encuentra en actualización. Por favor intente más tarde. REGISTRADURÍA NACIONAL DEL ESTADO CIVIL
la idea que solo me mostrara 1 sola vez esto La información se encuentra en actualización. Por favor intente más tarde
y como esta como cerrada momentaneamente esa pagina
necesito hacerlo con
http://siri.procuraduria.gov.co:8086/CertWEB/Certificado.aspx?tpo=1
que ademas tiene otro grado de complejidad que no se como hacerlo y es un capcha
necesito ayuda
Hola Osboom
El problema que tienes es complejo, debido a que tienes que resolver un captcha, el cual fue diseñado para diferenciar entre la acción de una persona o un programa.
En la red puedes encontrar ciertas vías de solución, sin embargo, requieren dedicar tiempo a analisis de imagen por computadora, incluso a veces manejo de redes neuronales, etc. Y eso por cada “tipo” de captcha que quieres resolver.
Aquí puedes encontrar un demo de como resolver un captcha usando OpenCV, Matplop y Python (https://www.youtube.com/watch?v=KESG8I9C3oA) sin embargo está en japones o chino xD. De todas formas, en la red puedes encontrar algunas pautas.
La otra alternativa sería utilizar los servicios que resuelven captcha, pero son de pagos.
Saludos!
gracias voy a intentarlo haber como me va. luego te aviso
Hola deerme.org Necesito de tu ayuda, lei la mayoria de los post y encontre lo que busco, deseo capturar el valor de la UF de esta página http://indicadoresdeldia.cl/valor-uf-hoy.html … logro capturarlo y mostrarlo, pero ademas quiero utilizar el valor, sumarlo, multiplicarlo etc.
Si puedes ayudarme a convertirlo de string a int… te lo agradecería.
Hola,
gran información!
Sabes si es posible obtener información de los partidos en bet365.es?
Por lo que puedo ver creo que está echa con Flash
Gracias!
Hola estimado deerme.org antes que nada te fecicito y agradezco por tu aporte y gentil ayuda, quiisiera ver si por favor tengas un tiempito y me ayudas a obtener los datos de esta pagina http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias?accion=consPorRuc&nroRuc=20480878257&codigo=DAWN.
Hola, excelente información! pero tengo problemas para usarlo en esta página http://www.ncbi.nlm.nih.gov/nuccore/336185462?report=fasta porque muestra con AJAX la información de la secuencia de nucleótidos y esa es exactamente la parte que me interesa!! ojalá puedas ayudarme, muchas gracias!!
Hola Buen dia amigo, me podrias ayudar en esto, soy nuevo usando php, deseo ingresar mi numero de dni y scar informacion de la siguiente pagina:
http://slcp.mtc.gob.pe/
Ejemplo dni es 18197331 y luego recuperar información como puntos acumulados.
Gracias por tu apoyo.
Saludos.
Luis
deerme, te felicito por tus conocimientos y paciencia para ayudar a resolver codigo, espero que me puedas ayudar con una solucion o indicar en que estoy fallando, el caso es que desde mi pagina debo introducir un numero de indetidad (ejm: 0703292250) ir a la pagina http://www.mdi.gob.ec/minterior1/antecedentes/verifica.php, que se pulse el boton buscar y poder tomar los datos a mi pagina, estoy intentando con curl, llevo dias y no puedo resolver….
Saludos
Rolando, una forma para analizar el comportamiento de un sitio, es analizando el trafico HTTP, hoy en día, Firefox y Chrome traen unas herramientas nativas. En este caso, analizando la petición que hace el sitio al enviar el formulario, veemos que envia un par de parametros por POST y el sitio responde en formato json, por lo tanto, es sencillo interpretar la salida. El código sería el sgte (sin espacios en la dirección).
Saludos
Hola Buen dia amigo, me podrias ayudar en esto, soy nuevo usando php, deseo ingresar mi numero de dni y scar informacion de la siguiente pagina:
http://slcp.mtc.gob.pe/
Ejemplo dni es 18197331 y luego recuperar información como puntos acumulados.
Gracias por tu apoyo.
Saludos.
Hola estimado Luis si es posible obtener la información de la web de consulta
Ejemplo: http://edunegociosperu.com/mtc-json/index.php
Deerme, maestro muchas gracias, era lo que necesitaba
Hola manito
tengo inconvenientes a la hora de copiar los datos de esta web
http://siri.procuraduria.gov.co:8086/CertWEB/Certificado.aspx?tpo=1
le envio parametros via Post y no los acepta
como le aria en este caso ??
a lo mejor me regalas una idea o un proceso que debo seguir para llegar a tal objetivo, leyendo por tu web me encuentro que tengo que resolver el captcha de dicha webhttp://siri.procuraduria.gov.co:8086/CertWEB/Certificado.aspx?tpo=1, mi pregunta es como enviaria los datos via POST a la web ya que su formulario lo envia via post ???
Hola OSBOOM, la solución que buscas yo la tengo pero no funciona porque la url ha cambiado en su estructura, yambien estoy realizando el mismo proyecto, podemos compartir cocimientos
Hola buenos dias, quisiera obetener el contenido del tipo de cambio de este sitio http://www.bc.gob.cu/Espanol/tipo_cambio_METROPOLITANO.asp , mi enteresa sobre todo la tabla del centro. Gracias.
Saben de alguna página que me permita extraer noticias? Por favor
ME AYUDAN UIERO EXTRAER LOS DATOS DE LA RENIEC PERU https://cel.reniec.gob.pe/valreg/valreg.do SOLO NOMBRES Y APELLIDOS POR MEDIO DE UN FORMULARIO EXTERNO, ME AYUDAN.
amigo necesito ayuda urgente, es para un trabajo de grado y me exigen que saque unos datos de una pagina https://www.runt.com.co/consultaCiudadana/#/consultaVehiculo
pues me iba bien con las paginas que los datos se les pasaban por el metodo GET pero por el otro no entiendo muy bien, a demás, tiene un captcha pero eso no importa que lo resuelva el usuario.
en realidad lo que necesito es que en un formulario ingrese el nuemro de cedula y la placa del veiculo y me valide los datos de esa pagina
de antemano gracias por colaborar a todo el que puedes
Hola deerme excelente informacion tengo una pregunta una vez se ven los datos como los puedo guardar en una base de datos agradezco tu ayuda.
Necesito que mi pagina web se redireccione automáticamente cuando se hace una transmision en vivo y cuando no vaya a la web que almacena los videos, cabe destacar que uso sopcast y que en http://www.sopcast.org/chlist.xml cuando estoy transmitiendo aparecen los datos de mi canal y desaparecen al bajar la transmision, entonces antes de cargar un index debe buscar esto sop://151.80.76.190:3912/259248 en la web antes mencionada si lo encuentra enviarme a la web “A” donde esta el embed del sopcast sino enviarme a la web “B” donde estan los videos grabados antes….
Me puedes ayudar por favor, desde ya muchas gracias
Holas, excelente, muy bueno el aporte, disculpen soy nuevo en esto, he probado con (file_get_contents) y me he dado cuenta que en algunos sitios si funciona y en otros no muestra nada de nada. Me pueden ayudar por favor, Este es mi sencillo codigo:
$ver = file_get_contents(‘http : / / whatismyipaddress.com/’);
echo$ver; y gracias por la atención prestada
Hola,
Querría saber si puedo capturar datos de una web y ponerlos en mi blog y si estos se actualizarían diariamente como la web de origen.
Concretamente estos los datos de mareas de una pagina de Climatología.
Serian los correspondientes a la ría de Foz
Este es el enlace: http://www.meteogalicia.es/web/predicion/maritima/mareasIndex.action
Los datos estes:
Ría de Foz
Hora Altura
Preamar 03:43 4.0
Baixamar 09:52 0.9
Preamar 16:01 3.8
Baixamar 22:04 0.8
Creo que el código fuente de los datos que quiero capturar de forma automática seria este:
Ría de Foz
Hora
Altura
Preamar
03:43
4.0
Baixamar
09:52
0.9
Preamar
16:01
3.8
Baixamar
22:04
0.8
A ver si me puedes ayudar, te lo agradecería mucho.
Un saludo.
buenos días.
una pregunta como parsear los datos obtenidos de http://d.mismarcadores.com/x/feed/f_1_0_-5_es_1/.
no puedo si me hiciera el favor de explicarme o darme un lugar de buscar porque he googleado y no he podido.
gracias de antemano.
Hola como estas? un amigo me pide que le ponga en su web unas cotizaciones de moneda del banco central uruguayo.
Las cotizaciones se ven aqui… (es el cuadro de arriba a la derecha).
http://www.bcu.gub.uy/Estadisticas-e-Indicadores/Paginas/Cotizaciones.aspx
Como puedo capturar y presentar esos datos uno por linea mas o menos como se ven ahi?
Desde ya muchas gracias por tu paciencia!!!
Saludos desde uruguay.
Hola genio!
Trabajando con Winforms en Asp.net, resolví el problema de obtener todo el código fuente de una página usando este trozo de código.
http://stackoverflow.com/questions/18065526/pulling-data-from-a-webpage-parsing-it-for-specific-pieces-and-displaying-it
Usé el código de la primera respuesta, esa que empieza con la línea
string result = null;
El problema que tengo, es que debo obtener los horarios de salida de vuelos presente aquí:
http://www.despegar.cl/shop/flights/results/oneway/ANF/SCL/2016-03-15/1/0/0?from=SB
El problema está en que en el fuente, donde deberían ir los vuelos me aparecen con esas etiquetas {hour.formatted{ que solo los puedo ver reemplazados con el inspector de Chrome, pero antes no.
Tienes alguna idea de como puedo obtener los horarios?
Gracias por tu ayuda.
Buenas tardes como puedo obtener la información de esta pagina http://www.maquinaazul.com.ve/programacionact.php?dia=VIERNES
He estado haciendo esto pero da error. Ayuda por favor
$c = curl_init(‘http://www.maquinaazul.com.ve/programacionact.php?dia=VIERNES‘);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HTTPHEADER, array(
“Accept:*/*”,
“Accept-Language:*”,
“Cache-Control:max-age=0″,
“Connection:keep-alive”,
“Cookie:__gads=ID=5e31b170a069f6a3:T=1443845779:S=ALNI_MYKSXaRGMBofY3dxLmn10mEDx4psA; _gat_UA-207011-10=1; _ga=GA1.2.1109485284.1443845790″,
“Host:www.maquinaazul.com.ve”,
“Referer:http://www.maquinaazul.com.ve/programacionact.html“,
“User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36″,
“X-Fsign:SW9D1eZo”,
“X-GeoIP:1″,
“X-Requested-With:XMLHttpRequest”,
));
$content = curl_exec($c);
if (curl_errno($c)) {
echo curl_error($c);
echo “\n”;
$content = ”;
}else{
curl_close($c);
}
if (!is_string($content) || !strlen($content)) {
echo “Failed to get contents.”; $content = ”;
}
Hola! Excelnte aporte. Lo probe con un dato y va de diez. Lo estoy probando con los datos que otorga una estacion metorologica y los muestra en uan web html.
Ahora la pregunta seria: Como puedo hacer para extraer varios datos de esa pagina para luego generar otro sitio mas grafico o bien un plugin de WordPress.
La pagina desde donde se toman los datos es estaa: http://www.coopascension.com.ar/mb5.htm
Desde ya gracias!
Hola amigo, veo que en este tema eres un duro, estoy investigando sobre este tema y no he podido lograr mi solución tal vez tu tengas una idea que me ayude, tengo esta página
http://lossalserosdeverdad.radiostream321.com/radio.php?ipp=50.22.217.113&port=24420&ch=5&radioname=lossalserosdeverdad&rrr111=radiostream321.com&radio_id=2683222&testip=localhost&emp=&mobile_phone=yes
Aqui hago una transmisión musical pero como puedes ver el sitio no es muy agradable, he creado otro y quisiera tomar los datos de listeners y song que puedes ver arriba del reproductor, en este momento te debe salir fuera de línea pero son los datos de ese dív azul…. Cuando trato de adentrarme en ese código encuentro frames tras frames y la verdad ya no se como capturarlos… Agradezco cualquier ayuda….
Hola que tal, como podria realizar la extraccion de datos de una celda de una hoja de calculo de Google, ya que si miro el codigo fuente no encuentro ninguna pista de las celdas. Agradezco tu apoyo
Hola, lo hepreguntado en otro foro, pero nadie me sabe decir como se haria este scraping.
Bien lo explico un poco: quiero sacar unas imagenes incrustadas en una tabla bajo php la url es : http://www.meteoval.com/Prevision/Previsionlasolana.html, las imagenes son los soles, nubes y llivia. Son .gif que van cambiando segun el dia y la hora.
Con estas imagenes las quiero incluir en mi web en una imagen de fondo ya prediseñada esta es la url: http://atodaradio.es/13.jpg, la localizacion de la imagen a atraer se pondria por coordenadas en la imagen.
hasta ahora solo he podido traer la tabla entera que esta sobre ifarmes, nada mas. Logicamente aqui me pierdo.
$html = file_get_html(”);
El resultado del supuesto codigo seria este: , pero esto es con corta y pega sobre un editor de fotos.
Perdon, logicamente las imagenes se cambierian en mi web, por unas ya prediseñadas.
Es un pequeño matiz que se me olvidaba, por si las imagenes originales tienen dderecho de autor.
Quiero que se haga automaticamante.
Muchas Gracias ante todo
hola buenas tardes necesito extraer los datos al consultar el CURP en mexico https://consultas.curp.gob.mx/CurpSP
este es un CURP valido JUCG510910MGTRRD08 tiene captcha
te lo agradezco
loadHTML($resultado);
$xpath = new DOMXPath(@$doc);
$data = $xpath->query(‘//form/input[@type="hidden"][position() >= 1 and position() nodeValue . '';
}
} else {
echo "No hay soporte para cURL";
}
ocupe este codigo y nada
loadHTML($resultado);
$xpath = new DOMXPath(@$doc);
$data = $xpath->query(‘//form/input[@type="hidden"][position() >= 1 and position() nodeValue . '';
}
} else {
echo "No hay soporte para cURL";
}
loadHTML($resultado);
alguna ayuda con esto!!!
Usted está escribiendo un programa para una agencia de prensa. Su jefe le ha encargado que su programa busque noticias en sitios extranjeros de renombre para que los editores locales las evalúen. Para ello siga los siguientes pasos:
• Escriba un pequeño código en PHP que obtenga 5 noticias distintas de distintos sitios online. Copie el código resultante en la plantilla de entrega del control.
Buenas tardes, bastante interesante el articulo, podría ayudarme a capturar los valores del
Dow Jones
Nasdaq
S&P 500
de este link https://es.finance.yahoo.com/#ms-tab3 para ubicarlos en otro sitio web y que sigan actualizándose automáticamente.
Gracias por su colaboración
como jalo las noticias de esta web para que se almacen en mi web wordpress http://www.elshow.pe
Hola, buen dia.
Quisiera sacar la lista de canciones que se generan dinamicamente en este enlace http://195.154.56.114:9324/played.html
Podrias ayudarme en esto? Si tiene algun costo escribeme al abelhoyos@gmail.com lo necesito urgente. Tu solo dime cuanto es.
Hola, Buen día
estuve intendanto implemetar tus codigos pero no logro sacar los datos de la tabla SPOT, compra y venta, , me puedes ayudar ?
http://finanzasenlinea.infosel.com/IntercamWeb/Divisas.aspx
Hola Viri
El código que debes implementar es sencillo, es practicamente un GET y luego una expresión regular o una consulta XPath para extraer el dato. Yo soy más amigo de las regex. Eso si, el sitio requiere que le inyectemos un user-agent real.
El siguiente código te extrae el dato (recuerda modificar la url que tiene un espacio):
Hola Viri,, quisiera mostrar en mi pagina solo el balance final de una cartera de BTC, trate modificando varios de los codigos que tienes pero me fue imposible,, no se si sera posible .. de esta o cualquier cartera,, es cuestion de cambiar la rireccion de la cartera
https://blockchain.info/es/address/1NcebYHK3c9cAkbnePU63umLPujmkwDBBD/
hola Deerme esto no esta funcionando quiero sacar los datos
Maximo, tu código no se pego correctamente. Saludos!
Hola Deerme. Antes de nada agradecerte todo lo que compartes a muchos nos ayuda a ir aprendiendo.
Estoy intentado recuperar los datos de esta web:
http://www.futgal.es/pnfg/NPcd/NFG_CmpJornada?cod_primaria=1000120&CodCompeticion=3538799&CodGrupo=3794118&CodTemporada=12&CodJornada=6&Sch_Codigo_Delegacion=7&Sch_Tipo_Juego=
Haber si puedes orientarme. Un saludo
<?php
$c = curl_init('http://www.mismarcadores.com/partido/4EQkFrsE/'
;
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HTTPHEADER, array(
"Accept: */*",
"Accept-Language: *",
"Host: d.mismarcadores.com",
"Referer: http ://d.mismarcadores.com/x/feed/proxy",
"User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0",
"X-Fsign: SW9D1eZo",
"X-GeoIP: 1",
"X-Requested-With: XMLHttpRequest",
"X-utime: 1"
));
$content = curl_exec($c);
curl_close($c);
echo $content;
solo es el link http://www.mismarcadores.com/partido/4EQkFrsE
lo hago de esta manera tampoco me muestra:
Date.prototype.addHours = function(h) {
this.setTime(this.getTime() + (h*60*60*1000));
return this;
}
function timestamp_to_hour(ts) {
var times = ts * 1000;
var now = new Date(times);
now.addHours(5);
var horas = now.getHours();
var minutos = now.getMinutes();
if(minutos < 10)
minutos = "0" + minutos;
if(horas < 10)
horas = "0" + horas;
return horas + ":" + minutos;
}
var estado_para = null;
function update() {
var randd = Math.random() * 1000;
$.ajax({
url : "http://158.69.212.149/marcador/4EQkFrsE?" + randd,
type : "get",
async: true,
success : function(text) {
var json = JSON.parse(text);
var inicio = json.DC;
var cortes = json.DD;
var timeStamp = Math.floor(Date.now() / 1000);
var dif = ((timeStamp – cortes) / 60);
var minutos = Math.round(dif);
if (json.DB == 3)
var tmp = "";
if (json.DB == 12)
var tmp = "PT";
if (json.DB == 17)
var tmp = "1er Set";
if (json.DB == 18)
var tmp = "2º Set";
if (json.DB == 19)
var tmp = "3er Set";
if (json.DB == 20)
var tmp = "4º Set";
if (json.DB == 21)
var tmp = "5º Set";
if (json.DB == 47)
var tmp = "1er Set – Tiebreak";
if (json.DB == 48)
var tmp = "2º Set – Tiebreak";
if (json.DB == 49)
var tmp = "3er Set – Tiebreak";
if (json.DB == 50)
var tmp = "4º Set – Tiebreak";
if (json.DB == 51)
var tmp = "5º Set – Tiebreak";
if (json.DB == 22)
var tmp = "1er Cuarto";
if (json.DB == 23)
var tmp = "2º Cuarto";
if (json.DB == 24)
var tmp = "3er Cuarto";
if (json.DB == 25)
var tmp = "4º Cuarto";
if (json.DB == 38)
var tmp = "ET";
if (json.DB == 13)
var tmp = "ST";
if (json.DB == 7)
var tmp = "Penales";
if (json.DB == 6)
var tmp = "T.EX";
if (json.DB == 22 || json.DB == 23 || json.DB == 24 || json.DB == 25 || json.DB == 17 || json.DB == 47 || json.DB == 18 || json.DB == 48 || json.DB == 19 || json.DB == 49 || json.DB == 20 || json.DB == 50 || json.DB == 21 || json.DB == 51)
$("#tiempo").html(tmp);
else
$("#tiempo").html(tmp + " " + minutos + "”);
if ((typeof json.DB) === “undefined”)
$(“#4EQkFrsE #tiempo”).html(“”);
if (json.DA == 1) { // NO EMPEZO
$(“#estado”).html(timestamp_to_hour(inicio));
$(“#goleslocal”).html(“-”);
$(“#golesvisitante”).html(“-”);
$(“#tiempo”).css(“visibility”, “hidden”);
}
if (json.DA == 2){ // EN JUEGO
$(“#estado”).html(“EN JUEGO”);
$(“#tiempo”).css(“visibility”, “visible”);
}
if (json.DA == 3) { // FINAL
$(“#estado”).html(“FINAL”);
$(“#tiempo”).html(“”);
$(“#tiempo”).css(“visibility”, “hidden”);
}
var resultado_local = json.DE;
var resultado_visitante = json.DF;
var escudolocal = json.escudolocal;
var escudovisitante = json.escudovisitante;
var local = json.local;
var visitante = json.visitante;
var torneot = json.torneo;
$(“#torneot”).html(torneot);
$(“#4EQkFrsE #goleslocal”).html(resultado_local);
$(“#4EQkFrsE #golesvisitante”).html(resultado_visitante);
$(“#4EQkFrsE #escudolocal”).html(“”);
$(“#4EQkFrsE #escudovisitante”).html(“”);
$(“#4EQkFrsE #local”).html(local);
$(“#4EQkFrsE #visitante”).html(visitante);
}
})
}
update();
window.setInterval(function() {
update();
}, 30000);
–
Muy buenas tardes, tengo una duda y antes de manejar codigo quisiera hacerte la pregunta:
¿Es posible asi como se extrae la informacion de ciertas DIV, mandar informacion para capturar automaticamente en un formulario web?
Para mañana espero poder redactarte un texto con la idea un poco más clara, Muchas gracias por compartir informacion, Eres un muy muy buen programador
Saludos!!
Hola Enrique
Gracias por tus palabras. Respecto a tu pregunta, no me quedo tan clara, sin embargo, desde un punto de vista técnico, puedes simular todas las acciones que realiza un usuario sobre una web. Para luego realizar lo mismo de forma automatizada.
En general, siempre se debe analizar el sitio, hoy en día, todos los browser traen herramientras para analizar el tráfico hacía la web (ejemplo en Chrome al presionar F12 en la pestaña de Red/Network puedes ver todas las peticiones).
Una vez identificadas las peticiones (GET/POST/PUT etc ..) se deben implementar. Eso si, muchas veces, las acciones requieren de una cookie o algún parámetro previo de uno de los pasos anteriores.
Saludos!
Hola amigo deerme tu codigo quiero hacer funcionar pero nada :
<?php
$c = curl_init('http://d.mismarcadores.com/x/feed/t_1_152_257_-3_es_y_1'
;
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HTTPHEADER, array(
"Accept: */*",
"Accept-Language: *",
"Host: d.mismarcadores.com",
"Referer: http://d.mismarcadores.com/x/feed/proxy",
"User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0",
"X-Fsign: SW9D1eZo",
"X-GeoIP: 1",
"X-Requested-With: XMLHttpRequest",
"X-utime: 1"
));
$content = curl_exec($c);
curl_close($c);
print_r ($content);
Muy buenas tardes compañero de código!!
Deja te cuento como me ha ido con la implementacion de la función PHP file_get_contents(“http://www.mi_url.com/”)
En primera instancia debo aclarar que los servicios hosting gratuitos que estuve probando, NO me permitían el uso de dicha función, en otras palabras, esta “apagada” por default. Así que decidí implementarlo en un espacio del server de la empresa en donde trabajo y vualá. corriendo al 100!!
No es por nada, pero blogs como en tuyo definitivamente nos salvan la vida en más de una ocasión, así que agradecido estoy, espero poder contribuir en tu trabajo, o ayudando a otros internautas.
Con respecto a mi entrada anterior y tu amable respuesta debo agregar lo siguiente.
En efecto me interesa hacer una web con que simule algunas de las acciones que realizaría un usuario sobre determinada web.
Ésto de forma automatizada.
Como la web a la que le pienso “inyectar” los formularios predefinidos no usa CAPTCHA ni ninguna otra de las técnicas de ofuscación de “robots” el camino no es tan complicado; sin embargo si necesito de tus conocimientos para saber QUE FUNCIÓN (ES) se debe(n) usar, para que al correr el PHP, se inyecten dichos campos de manera automática.
Gracias desde Ya,
Tu amigo desde Chihuahua, México
Enrique Rivas.
COMO HAGO PARA CAPTURAR LOS DATOS DE ESTAS PAGINAS http://WWW.BET365.COM Y LLEVARLOS A MI WEB http://www.livescore.in/, http://www.marcadores.com/ ASI COM HACEN ESTAS PAGINAS
Muy buenas tardes, estoy aplicando tu código para sacar de una web un listado enorme de precios.
Espero me puedas echar una mano porque por mas vueltas que le estoy dando no encuentro el error.
Si en el array meto dos urls funciona correctamente pero en cuanto introduzco alguna linea mas casca.
Este es el código:
<?php
$datos = array(
"http://www.licorea.com/capit%C3%A1n-kidd-reserva-20-a%C3%B1os-canarias-p-766.html",
"http://www.licorea.com/black-death-extra-old-p-2546.html",
"http://www.licorea.com/capit%C3%A1n-kidd-reserva-20-a%C3%B1os-canarias-p-766.html"
);
var_dump($datos);
$contador=count($datos);
echo $contador." url”;
for ($i=0; $i<$contador; $i++) {
$data = file_get_contents($datos[$i]);
if(preg_match('|(.*?)|’,$data, $cap))
{
echo “Precio ” .$i. ” ” .$cap[$i]. “”;
}
}
?>
y el resultado:
array (size=3)
0 => string ‘http://www.licorea.com/capit%C3%A1n-kidd-reserva-20-a%C3%B1os-canarias-p-766.html‘ (length=81)
1 => string ‘http://www.licorea.com/black-death-extra-old-p-2546.html‘ (length=56)
2 => string ‘http://www.licorea.com/capit%C3%A1n-kidd-reserva-20-a%C3%B1os-canarias-p-766.html‘ (length=81)
3 url
Precio 0 EUR 95,95
Precio 1 EUR 14,95
( ! ) SCREAM: Error suppression ignored for
( ! ) Notice: Undefined offset: 2 in E:\wamp\www\SacarDatos\pruebas.php on line 18
Call Stack
# Time Memory Function Location
1 0.0005 250440 {main}( ) ..\pruebas.php:0
Precio 2
Gracias Saludos!
Perdona pero el código es este, no se porque se ha copiado mal. Lo único que cambia es el patrón.
<?php
$datos = array(
"http://www.licorea.com/capit%C3%A1n-kidd-reserva-20-a%C3%B1os-canarias-p-766.html",
"http://www.licorea.com/black-death-extra-old-p-2546.html",
"http://www.licorea.com/capit%C3%A1n-kidd-reserva-20-a%C3%B1os-canarias-p-766.html"
);
var_dump($datos);
$contador=count($datos);
echo $contador." url”;
for ($i=0; $i<$contador; $i++) {
$data = file_get_contents($datos[$i]);
if(preg_match('|(.*?)|’,$data, $cap))
{
echo “Precio ” .$i. ” ” .$cap[$i]. “”;
}
}
?>
No se que pasa, a ver ahora el patrón es este
(.*?) |
Hola Deerme, encontré este post que habla de extraer datos y quisiera ver si me pudieras ayudar en extraer info de esta pagina web:
http://seia.sea.gob.cl/expediente/expedientesEvaluacion.php?modo=ficha&id_expediente=2131819041
He probado de diferentes maneras pero no me trae datos desde php…
Gracias por tus conocimientos
Hola Ulises
Ese sitio en párticular carga el contenido de la tabla a través de ajax, por lo tanto, lo que tienes que hacer es tratar de analizar los datos de la llamda ajax, analizando Network de Chrome te puedes dar cuenta que la URL de la llamada AJAX es al final un simple GET (http://seia.sea.gob.cl/expediente/xhr_documentos.php?id_expediente=2131819041). Apuntando a esa URL, deberías ser capaz de extraer los datos.
Saludos!
Gracias por tu pronta respuesta,
Efectivamente eso hice, de hecho lo he probado con todas las alternativas que has mostrado acá, pero no trae nada… creo saber el pq, esta usando una api de yahoo que carga los datos cuando se ingresa a ésta, entonces cuando llamo a la página no se invoca el llamado a cargar los datos, sino solo el, por decir, encabezado de la pag.
Usan YAHOO.util.Connect.asyncRequest
Se te ocurre algo como hacer, para cargar los datos invocando la conexion anterior cuando se ejecute la llamada?
Gracias de nuevo por tu respuesta.
Ulises
Estimado,
Efectivamente lo hice con un get simple y un echo de lo que extrae y solamente trae el DOM inicial, por asi decirlo… la data la extrae con esa llamada que no se ejecuta con el get.
Esto hice:
$data = file_get_contents(“http://seia.sea.gob.cl/expediente/expedientesEvaluacion.php?modo=ficha&id_expediente=2131819041″);
echo $data;
Gracias de nuevo por tu atención.
Ulises
Ulises
Debes hacer GET no a la página principal, si a la que te he indicado, ya que cargar el contenido por AJAX, ejemplo, usando DOM, podrías obtener los datos de esta manera (fijate que la URL contiene espacios, los debes eliminar)
Obteniendo algo como …
Estimado,
Gracias por su yuda, efectivamente era como decias…
Un abrazo y gracias por compartir tus conocimientos.
Ulises
hola me podrian ayudar necsito pasar el valor de este div a yuna variabala
l AD:
de antemano muchisimas gracias
perdon AD:
ALGUIEN QUE TENGA EL CODIGO FUENTE PARA EXTRAER LOS DATOS DE LA RENIEC PERU https://cel.reniec.gob.pe/valreg/valreg.do SOLO NOMBRES Y APELLIDOS EN DIFERENTES INPUTs
Hola Deerme,
Yo de nuevo, crei que me la iba a poder con otras páginas de mi anterior pregunta, pero escarbé en el network y no encuentro la solución…
Quiero ahora extraer los datos que están en una tabla de esta página: http://seia.sea.gob.cl/busqueda/buscarProyectoAction.php?nombre=central
la cosa rara es cuando paso a la página 2, por ejemplo, no me salen datos… la pagina 2 sería:
http://seia.sea.gob.cl/busqueda/buscarProyectoAction.php?nombre=central&_paginador_refresh=1&_paginador_fila_actual=2
Si tuvieras tiempo de echarle un vistazo, lo agradecería.
Gracias por tu tiempo,
Ulises
Hola Deerme,
Ya conseguí extraer los datos… gracias de todas maneras.
Ulises
Hola, muy buena tu página, pero este código no me funcionó, es posible que la web destino tengo un bloqueador o algo para evitar extraer contenido? Quería extraer de esta página: ht tp://animeflv. net/ver/43472/dragon-ball-super-72 el contenido del src del iframe: en el código fuente se ve así:
<iframe src=\"https:\/\/animeflv.net\/embed_izanagi.php?key=o3eBuo-OhbuF07qvq3ivlJanp5KDmpepsLiHjH28w4vGdJZ90ba7rHqqjcd0jQ,,\"
saludos
Hola,en mi caso, solo necesito extraer información de una tabla de un sitio web. de los valores de esa tabla, luego guardarlo en un archivo para que sean almacenados en bd. sabes que código debo usar solo para extraer info de la tabla. porque estoy probando uno donde me extrae toda la información dela pagina, y no se como hacer el filtro. gracias!
Hola,
en mi caso, necesito poner datos automaticamente en el formulario que aparece al final , donde el reCaptcha.
http://www.revolico.com/modificar-anuncio.html?key=jjyBZFmzRFdX17736359
Y tambien poder extraer email y numeros telefonicos de esta web
http://www.revolico.com
Saludos
hola!
Como puedo extraer la tabla de “Ultimos sismos”
ht tp://sismologia.cl
Por favor
Saludos
Javier
La información se encuentra en un iframe/frame que carga la URL http://sismologia.cl/links/tabla.html
Si ves el código fuente, se encuentra directamente en una tabla, por lo tanto, podrías cargar usando DOM o Regex.
Algo como lo siguiente (ojo que la URL tiene un espacio):
Saludos!
Hola!!
Como puedo extraer de esta página http://www.comuniazo.com/comunio/puntos?usuario=fercho10:
-El nombre
-Los puntos de la jornada
-El general
Saludos!!
Hola!
Cómo puedo extraer de éste enlace http://api.formice.com/mouse/stats.json todo el código / texto que está dentro del archivo stats.json?
Me urge hacerlo, gracias de ante mano!!!
Hola Yuirsito
En este caso es mucho más sencillo, que la respuesta está representada con el formato JSON y PHP dispone de un función para codificar/decodificar JSON. Sería algo como lo siguiente (la url tiene un espacio)
Hola!
En realidad no sé si esté haciendo algo mal, coloqué ese mismo código en un archivo .php y al ejecutarlo sólo muestra esto “stdClass Object ( [error] => Mouse not found )”
En realidad necesito el código que tiene ese archivo (el .json) que hace conexiones con una API y muestra estadísticas de los usuarios de un juego.
Lo que quiero es extraer el código fuente del archivo, no los valores o esas cosas. Osea, para hacer mi propio sistema de estadísticas con ESE código, pero claro, cambiando los datos de acceso de esa API por la mía.
hola me podrian ayudar a extraer de una pagina el estado de un moden quiero ver si puedo armar una pagina para ver los equipos y agilizar mi trabajo espero respuestas mi correo es sistemala20@gmail.com desde ya muchisimas gracias
Hola, qué tal?
Estoy intentando rescatar la información de rating de Google Playstore y no estoy pudiendo hacer que aparezca en mi sitio.
Necesito rescatar de este sitio
https://play.google.com/store/apps/details?id=com.ag.splashycats#details-reviews
El dentro de
Hay forma de poder hacer eso?
quiero aplicar el de la registraduria para una consulta masiva, de una base de datos que tengo en mysql de cedulas y guardar los datos del lugar de votacion en una tabla de consulta en mysql
y me sale un error con lo basico
$source = file_get_contents(‘https://wsp.registraduria.gov.co/censo/_censoResultado.php?nCedula=1065576283&nCedulaH=&x=71&y=17‘);
libxml_use_internal_errors( true );
libxml_clear_errors();
$html = new DOMDocument();
$html->loadHTML($source);
$xpath = new DOMXPath( $html );
$result = array();
// Cada TR
$trs = $html->getElementsByTagName(“tr”);
foreach ( $trs as $tr )
{
// Cada TD
$title = $tr->getElementsByTagName(“td”)->item(0)->nodeValue;
$value = $tr->getElementsByTagName(“td”)->item(1)->nodeValue;
echo $title . “\t” . $value.”\n”;
$result[$title] = $value;
}
//print_r($result);
/*
$source = file_get_contents(‘http:/ /www3.registraduria.gov.co/censo/_censoresultado.php?nCedula=’ . $_REQUEST["cedula"] );
$cedulas = array(“1045704313″,”1045704314″,”1045704315″,”1045704316″);
foreach( $cedulas as $cedula )
{
$source = file_get_contents(‘http:/ /www3.registraduria.gov.co/censo/_censoresultado.php?nCedula=’ . $cedula );
// luego el resto del codigo para la extracción …
*/
Epale hermano necesito una ayudita para extraer datos de la web https://poloniex.com/exchange#btc_eth necesito los last price, necesito colocarlo en un codigo HTML, mil gracias de ante mano
Hola como puedo en una web como por ejemplo: http://examinator.ws/ meter una url como por ejemplo http://www.hotelvillacarlos.com/ y que me capture el valor de la etiqueta hscore. Muchas gracias
Hola alguien me podria ayudar?
Quiero poder extraer unicamente los datos de la linea de publicaciones de mi fan page de facebook. se puede? https://www.facebook.com/el10tv/
una de las opciones que encontre es el plugins que da facebook pero sale el perfil la portada y todo eso, y solo quiero que salga lo que eh dicho mas arriba “publicaciones”
desde ya muchisimas gracias.
Hola Estimado, yo de nuevo,
Quiero extraer los datos de consultores que vienen de 10 en 10 en una página pero cuando trato de extraerlos me deriva a otra que no tiene nada que ver con lo que yo deseo.
El ciclo lo tengo en un for para ir de variando de página en página,podrias darme un atisbo de luz?
Esta es la página:
http://seia.sea.gob.cl/busqueda/buscarTitularConsultorAction.php?busca=true&externo=1&tipo=CONSULTORES&subtipo=EMPRESA&nombre_rut=&nombre=&presentacion=AMBOS&id_tipoexpediente=&id_tipoexpediente=0
Agradecido de antemano
Ulises
hola como puedo extraer los datos de esta pagina http://contribuyente.seniat.gob.ve/BuscaRif/BuscaRif.jsp si para poder aceder atraves de la cedula te exige el codigo de la imagen respondan es urgente
Hola estimado Deerme,
Creo que a esta altura eres el único que me puede ayudar debido a tus conocimientos y la buena voluntad que has demostrado con otros compañeros con problemas, ya que me la he liado. Tengo un script de un cliente que precisa realizar cálculos en base a 3 variables fundamentales que se extraerían desde 2 webs diferentes. Esto antes se hacía de forma manual, pero ahora quiere que sea un proceso automatizado.
Por un lado se precisa el valor de venta del dólar y el valor de la unidad indexada que se extraen si o si desde esta web:
https://www.portal.brou.com.uy/web/guest/cotizaciones
El otro valor es la U.R. que se extraería de la columna indicadores de esta web:
https://www.bhu.com.uy/institucional/hist%C3%B3rico-cotizaciones/
Yo ya no encuentro la forma de hacerlo y sinceramente necesito ayuda, porque tengo serio riesgo de perder mi cliente. Mil disculpas por molestarlos.
Estimado amigo,
lo logré resolver, nada prolijo por cierto, pero funciona.
Muchas gracias de todos modos.
Hola Maestro, tengo una consulta:
Necesito colocar un iframe de una línea del código fuente de un html, es decir, solamente, por ejemplo, la línea 1728 de un html. No quiero colocar todo el iframe.
Lo que pasa es que la línea, cambia cada tanto y me resulta problemático actualizar cada rato la línea nueva ya que no sé la secuencia de cambios de esa misma.
Ejemplo de la página: (ojo) es SOLO EJEMPLO
http://www.rojadirecta.me
Necesito un iframe solo de la línea 1728 por ejemplo.
Me puedes ayudar?
Hola estoy queriendo hacer un crawling para extraer contenido a una base de datos en wordpress, luego este contenido lo quisiera pasar a blogger donde tengo alojada esta web http://www.neytutoriales.com/ , será posible hacer eso o hay otra solución donde se pueda jalar tan solo el contenido a blogger… espero respuestas y sugerencias.
Hola estuve intentando realzar scraping a una e-commerce pero no pude obtener resultados
No cuento con la experiencia suficiente en scraping
Me podrías ayudar a extraer los datos necesarios de la siguiente página https://http://tradeinn.com
Quisiera extraer imágenes, títulos de los artículos, cantidad, precios, tallas
En fin todo lo relacionado con los artículos de esa web
Espero su respuesta atte
Desde ya para mi sería de mucha ayuda para poder continuar con el proyecto
Saludos y exelente tus aportes
Hola Pedro, muy bueno el ejemplo.
Tengo un problema, necesito copiar datos a través de un script en php de la página: https://www.carto.arba.gov.ar/cartoArba/
Los datos de cada parcela los necesito guardar en un bd postgres y que el script pase a la parcela siguiente verificando que no se repite.
Si me pudieses ayudar te lo agradezco mucho.
Te paso lo que ya tengo escrito:
Primero crea puntos para la grilla de muestreo.
se interrumpe antes de llegar a la segunda parte, cuando consulta un punto y guarda el polígono devuelto.
faltaría que de por resueltos los puntos de la retícula que se superpongan con el polígono incorporado.
<?
ini_set('display_errors',true);
//set_time_limit ( 60 );// si vamos a ejecutar una acción que demora más de 30 segundos tenemos que ajustar el límite de tiempo en segundos.
//distancia entre puntos de la retícula
$dist=5;
$xzero=-6578000;
$xfin=-6421377;
$yzero=-4170000;
$yfin=-4063000;
$Log=array();
//funcion que se ejecuta cuando se termina el proceso de este php
function terminar($Log){
/*
$res=json_encode($Log);
if($res==''){ $res=print_r($Log,true);}
echo $res;*/
echo "”.print_r($Log,true).”";
exit();
}
//conexxion a base de datos
$dbsettings['host']=’localhost’;
$dbsettings['usuario']=’xxxxx’;
$dbsettings['database']=’xxxxxx’;
$dbsettings['pass']=’xxxxxx’;
$dbsettings['host']=’xxxxxxxx’;//para usar desde afuera
//echo “host=”.$dbsettings['host'].” dbname=”.$dbsettings['database'].” user=”.$dbsettings['usuario'].” password=”.$dbsettings['pass'].” port=5432″;
$ConPg = pg_connect(“host=”.$dbsettings['host'].” dbname=”.$dbsettings['database'].” user=”.$dbsettings['usuario'].” password=”.$dbsettings['pass'].” port=5432″)or die(‘connection failed’);
echo pg_errormessage($ConPg);
/*
//borramos todo el contenido de la tabla (desactivar esto cuando empieze a funcionar o tengamos la grilla definida realmetne)
$query=”
DELETE FROM
xxxxxgeo_app0005.reticula
“;
$Consulta = pg_query($ConPg, $query);
if(pg_errormessage($ConPg)!=”){
$Log['tx'][]=’error: ‘.pg_errormessage($ConPg);
$Log['tx'][]=’query: ‘.$query;
$Log['res']=’err’;
terminar($Log);
}
*/
$query=”
SELECT id, x, y, geom, partido, estado, cont
FROM xxxxxgeo_app0005.reticula
order by cont desc
LIMIT 1
“;
$Consulta = pg_query($ConPg,$query);
$row= pg_fetch_assoc($Consulta);
$contDB=$row['cont'];
if($contDB==null){$contDB=0;}
$Log['tx'][]=’último contador registrado ‘.$contDB;
$pointerx=$xzero;
$pointery=$yzero;
$contador=0;
while($pointery $xfin){
$pointery+=$dist;//sube el carro
$pointerx=$xzero;//vuelve a la columna de inicio
}
if($contador100000){
//finalización abrupa durante la prueba;
break;
}
$query=”
INSERT INTO
xxxxxgeo_app0005.reticula(
x,
y,
geom,
estado,
cont
)
VALUES (
‘”.$pointerx.”‘,
‘”.$pointery.”‘,
ST_GeomFromText(‘POINT(“.$pointerx.” “.$pointery.”)’, 3857),
‘inexplorado’,
‘”.$contador.”‘
);
“;
$Consulta = pg_query($ConPg,$query);
if(pg_errormessage($ConPg)!=”){
$Log['tx'][]=’error: ‘.pg_errormessage($ConPg);
$Log['tx'][]=’query: ‘.$query;
$Log['res']=’err’;
terminar($Log);
}
}
$Log['tx'][]=’Se crearon ‘.$contador.’registros’;
$Log['tx'][]=’puede visualizar aquí:’;
$Log['tx'][]=’aquí‘;
$Log['tx'][]=’http://xxxxxx:8080/geoserver/xxxxxgeo/wms?service=WMS&version=1.1.0&request=GetMap&layers=xxxxxxgeo:vision%20reticula&styles=&bbox=-6674532.847225086,-4269901.12899307,-6375400.503640138,-3909532.440433402&width=637&height=768&srs=EPSG:3857&format=text%2Fhtml%3B%20subtype%3Dopenlayers’;
$Log['res']=’exito’;
terminar($Log);
/* modelo de parametros a enviar en la consulta
*
epsg EPSG:900913
height 656
lat -4135243.4784976
layerlistbaselayer carto:Macizos,carto:Parcelas+Rurales,carto:Parcelas,carto:Subparcelas,carto:Equipamiento_Comunitario,carto:Espacio+Verde,carto:Cotas,carto:Cotas_sp,carto:Seccion,carto:Circunscripcion,carto:Partidos,carto:Calles,carto:Limites,carto:Cuerpos_de_agua,carto:Red_Ferroviaria,carto:ign_cursos_de_agua
layerlistnotbaselayer carto:Parcela+Reunion,carto:Parcela+Rural+Reunion
listidslayersidevisibles
listidslayervisibles 60,12
lon -6552947.5361014
querylayerlistbaselayer carto:Macizos,carto:Parcelas+Rurales,carto:Parcelas,carto:Subparcelas,carto:Cotas,carto:Cotas_sp,carto:Seccion,carto:Circunscripcion,carto:Partidos
querylayerlistnotbaselayer carto:Parcela+Reunion,carto:Parcela+Rural+Reunion
scale 3385
stylelayerlistbaselayer carto:Carto_Macizos,carto:Carto_Parcelas_Rurales,carto:Carto_Parcelas,carto:Carto_Subparcelas,carto:Equipamiento_Comunitario,carto:Carto_Espacio_Verde,carto:empty,carto:empty,carto:Carto_Seccion,carto:Carto_Circunscripcion,carto:Partidos,carto:empty,carto:Limite,carto:Cuerpos_de_agua,carto:Red_Ferrocarril,carto:Cursos_de_agua
stylelayerlistnotbaselayer Carto_Parcela_Reunion,Carto_Parcela_Rural_Reunion
width 1920
x 910
xmax -6551741.264249
xmin -6554034.3750972
y 414
ymax -4134749.026471
ymin -4135532.5060108
*
*/
//
///ejemplo de consulta web
$urlbase =’https://www.carto.arba.gov.ar/cartoArba/client/getInfo?’;
$urlparam =’x=992&y=227&epsg=EPSG%3A900913&xmin=’.($pointerx-1000).’&ymin=’.($pointery-300).’&xmax=’.($pointerx+1000).’&ymax=’.($pointery-3000).’&layerlistbaselayer=carto%3AMacizos%2Ccarto%3AParcelas+Rurales%2Ccarto%3AParcelas%2Ccarto%3ASubparcelas%2Ccarto%3AEquipamiento_Comunitario%2Ccarto%3AEspacio+Verde%2Ccarto%3ACotas%2Ccarto%3ACotas_sp%2Ccarto%3ASeccion%2Ccarto%3ACircunscripcion%2Ccarto%3APartidos%2Ccarto%3ACalles%2Ccarto%3ALimites%2Ccarto%3ACuerpos_de_agua%2Ccarto%3ARed_Ferroviaria%2Ccarto%3Aign_cursos_de_agua&layerlistnotbaselayer=carto%3AParcela+Reunion%2Ccarto%3AParcela+Rural+Reunion&’;
$urlparam.=’querylayerlistbaselayer=carto%3AMacizos%2Ccarto%3AParcelas+Rurales%2Ccarto%3AParcelas%2Ccarto%3ASubparcelas%2Ccarto%3ACotas%2Ccarto%3ACotas_sp%2Ccarto%3ASeccion%2Ccarto%3ACircunscripcion%2Ccarto%3APartidos&querylayerlistnotbaselayer=carto%3AParcela+Reunion%2Ccarto%3AParcela+Rural+Reunion&stylelayerlistbaselayer=carto%3ACarto_Macizos%2Ccarto%3ACarto_Parcelas_Rurales%2Ccarto%3ACarto_Parcelas%2Ccarto%3ACarto_Subparcelas%2Ccarto%3AEquipamiento_Comunitario%2Ccarto%3ACarto_Espacio_Verde%2Ccarto%3Aempty%2Ccarto%3Aempty%2Ccarto%3ACarto_Seccion%2Ccarto%3ACarto_Circunscripcion%2Ccarto%3APartidos%2Ccarto%3Aempty%2Ccarto%3ALimite%2Ccarto%3ACuerpos_de_agua%2Ccarto%3ARed_Ferrocarril%2Ccarto%3ACursos_de_agua&’;
$urlparam.=’stylelayerlistnotbaselayer=Carto_Parcela_Reunion%2CCarto_Parcela_Rural_Reunion&listidslayervisibles=60%2C12&listidslayersidevisibles=&scale=866686&width=1920&height=484&lon=’.$pointerx.’&lat=’.$pointery;
$pagina_carto = file_get_contents($urlbase.$urlparam);
$array=json_decode($pagina_carto);
foreach($array as $key => $valor){
if($valor['type']==’WKTNOMENCLA’){
//es un polígono util! guardemoslo
$geomTX = “ST_GeomFromText(‘”.$valor['wkt'].”‘,3857)”;
$query=”
INSERT INTO
xxxxxgeo_app0005.parcelas
(
nomencaltura,
partida,
geometria
)
VALUES
(
‘”.$valor['nomencla'].”‘,
”,
‘”.$geomTX.”‘
)
RETURNING id;
“;
$Consulta = pg_query($ConPg,$query);
$row= pg_fetch_assoc($Consulta);
$Log['tx'][]=’creada parcela con id ‘.$row['id'];
if(pg_errormessage($ConecSIG)!=”){
$Log['res']=’error’;
$Log['tx'][]=’error al borrar base de datos’;
$Log['tx'][]=pg_errormessage($ConecSIG);
$Log['tx'][]=$query;
terminar($Log);
}
}
Disculpas por reemplazar por xxxx en algunos lugares pero como esto es algo público intenté resguardar un poco eso. Te agradezco de nuevo cualquier ayuda que me puedas brindar.
Hola, he estado leyendo e intentadolo pero no lo consigo. Quiero obtener todos los resultados de https://www.mismarcadores.com/futbol/espana/laliga/resultados/, no solo de las últimas jornadas. He estado mirando en Chrome pero no logro ver lo que habéis comentado en anteriores post. Puedes hacer una especie de minitutorial para locarlizarlo en Chrome.
Gracias y un saludo.
Hola, he leído los posts sobre la web de mismarcadores.com. En Chrome he inspeccionado la página https://www.mismarcadores.com/futbol/peru/liga-1/ y de los varios registros que obtengo en alguno me sale https://www.mismarcadores.com/x/feed/mc_1, https://d.mismarcadores.com/x/feed/f_, etc
Ninguno de estas direcciones que he obtenido me devuelve datos. Puedes decirme un tutorial o enviar un pequeño tutorial de cómo obtener esos datos en el Chrome o en el Mozilla. Podrías enviar un ejemplo con Curl pues he probado el que se comenta más arriba y no me sale nada.
Gracias y un saludo.
Hola, estoy probando esto:
Ejemplo
y no obtengo ningún resultado. Puede alguien ayudarme.
Gracias y un saludo.
Hola David, gracias por tu ayuda.
Tengo una pregunta importante. Si ejecutas una página con file_get_contents sacamos como dices los datos. Pero si el programador cambia el código de esa página con otro código, puede afectar esto a nuestra página, nos la pueden hackear???