o quizá murió por exceso de consultas? deberíamos tener una copia de todos los datos, de esa forma aseguraríamos quizá poder calcular velocidades históricas o no?
2010/4/23 Julio Costa Zambelli <[email protected]>: > Bajaron el sitio del SIMT nuevamente :( Hay que conseguir una fuente > confiable para estos datos... > > > 2010/4/23 Herman Vega <[email protected]> >> >> Me di cuenta que la línea "$paradero = DOM($simt);" debe ser "$paradero = >> trim(DOM($simt));" del código que envié, pero me gusto más lo que hizo >> Julio. >> >> slds.- >> >> 2010/4/23 Julio Costa Zambelli <[email protected]> >>> >>> Pueden ver un experimento que estuve haciendo ayer temprano con htmlSQL >>> (http://www.jonasjohn.de/lab/htmlsql.htm), en >>> http://www.openstreetmap.cl/ts/examples/demo_12.php >>> >>> El código: >>> >>> <?php >>> >>> /* >>> ** htmlSQL - Example 12 >>> ** >>> ** Shows how to replace the user agent and the referer with >>> ** custom values >>> */ >>> >>> include_once("../snoopy.class.php"); >>> include_once("../htmlsql.class.php"); >>> >>> $wsql = new htmlsql(); >>> >>> // set a individual agent: >>> $wsql->set_user_agent('MyAgentName/0.9'); >>> >>> // set a new referer: >>> $wsql->set_referer('http://www.openstreetmap.cl/'); >>> >>> // connect to a URL >>> if (!$wsql->connect('url', >>> 'http://web.simt.cl/Piv/servicios.action?paradero=PC710')){ >>> print 'Error mientras se conectaba: ' . $wsql->error; >>> exit; >>> } >>> >>> /* execute a query: >>> >>> This query returns all text arrays in a td with width="80": >>> */ >>> if (!$wsql->query('SELECT text FROM td WHERE $width == "80"')){ >>> print "Error de consulta: " . $wsql->error; >>> exit; >>> } >>> >>> // fetch results as array >>> foreach($wsql->fetch_array() as $row){ >>> >>> print_r($row); >>> >>> } >>> >>> ?> >>> >>> >>> El problema con la página de la cual estamos extrayendo los datos (más >>> allá de lo horrible del html que se esta usando) es que no hay elementos >>> distintivos en las etiquetas que rodean a "Distancia (mts)" Versus los que >>> rodean a la distancia de los dos buses. En ese sentido quizás habría que >>> usar las etiquetas que generan el encabezado y el cierre de la tabla como >>> referencias, y extraer y trabajar las filas que están en medio. >>> >>> >>> 2010/4/23 Herman Vega <[email protected]> >>>> >>>> Aquí va en php-cli, la ejecución es lenta por el servidor. >>>> >>>> <?php >>>> >>>> function DOM($element) >>>> { >>>> $contenido = ""; >>>> $children = $element->childNodes; >>>> foreach ($children as $child) >>>> { >>>> $tmp_dom = new DOMDocument(); >>>> $tmp_dom->appendChild($tmp_dom->importNode($child, true)); >>>> >>>> $contenido.=str_replace("<br>","",trim($tmp_dom->saveHTML()))."\n"; >>>> } >>>> return $contenido; >>>> } >>>> >>>> $dom= new DOMDocument(); >>>> // get paraderos >>>> >>>> $dom->loadHTML(file_get_contents("http://web.simt.cl/Piv/paraderos.action")); >>>> $dom->preserveWhiteSpace = true; >>>> >>>> $domSIMT = $dom->getElementsByTagName("a"); >>>> >>>> foreach ($domSIMT as $simt) >>>> { >>>> $paradero = DOM($simt); >>>> if ($paradero != "") { >>>> echo "PARADERO: $paradero\n"; >>>> // get details foreach stopbus >>>> $dom_detalle= new DOMDocument(); >>>> >>>> $dom_detalle->loadHTML(file_get_contents("http://web.simt.cl/Piv/servicios.action?paradero=$paradero")); >>>> $dom_detalle->preserveWhiteSpace = true; >>>> $domDET = $dom_detalle->getElementsByTagName("font"); >>>> foreach ($domDET as $det) >>>> { >>>> echo DOM($det); >>>> } >>>> } >>>> } >>>> >>>> ?> >>>> >>>> >>>> 2010/4/23 Danilo Lacoste <[email protected]> >>>>> >>>>> Partiré con nuevo hilo para este tema. >>>>> >>>>> En contexto con nuestro análisis para verificar si es factible extraer >>>>> los datos del transantiago, he creado este pequeño script al cual >>>>> todavía le falta la parte más importante (leer los tiempos de los >>>>> buses cercanos), pero ya es capaz de leer datos básicos del paradero y >>>>> hora de referencia. >>>>> >>>>> Les dejo la idea, si alguien quiere construir uno en otro lenguaje, >>>>> sería genial. >>>>> >>>>> Por ahora solo tiene cargada la lista de paraderos del recorrido C04 >>>>> (se editan en el archivo paraderos) >>>>> >>>>> salida esperada: >>>>> >>>>> dalac...@urano:~/osm/transantiago$ ./test2.sh >>>>> descargando esto puede tomar su tiempo... >>>>> ---- >>>>> PC668 >>>>> CIRIO / NUEVA BILBAO >>>>> 23-04-2010 >>>>> 00:06 >>>>> ---- >>>>> PC669 >>>>> ESPIGAS / NUEVA BILBAO >>>>> 23-04-2010 >>>>> 00:06 >>>>> ---- >>>>> PC670 >>>>> ALBERTO HURTADO / NUEVA BILBAO >>>>> 23-04-2010 >>>>> 00:06 >>>>> ... >>>>> .. >>>>> .. >>>>> >>>>> >>>>> >>>>> saludos. >>>>> >>>>> -- >>>>> www.lacosox.org >>>>> >>>>> _______________________________________________ >>>>> Talk-cl mailing list >>>>> [email protected] >>>>> http://lists.openstreetmap.org/listinfo/talk-cl >>>>> >>>> >>>> >>>> >>>> -- >>>> Herman Vega Jara >>>> hvegax[a]gmail.com >>>> >>>> _______________________________________________ >>>> Talk-cl mailing list >>>> [email protected] >>>> http://lists.openstreetmap.org/listinfo/talk-cl >>>> >>> >> >> >> >> -- >> Herman Vega Jara >> hvegax[a]gmail.com > > -- www.lacosox.org _______________________________________________ Talk-cl mailing list [email protected] http://lists.openstreetmap.org/listinfo/talk-cl
