Scraping web a un script con PHP Simple HTML DOM

  • Autor Autor lordraven
  • Fecha de inicio Fecha de inicio
L

lordraven

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Que tal este es mi primer post espero se entienda gracias..
Ahora estoy trabajando haciendo scraping web estoy trabajando con PHP Simple HTML DOM hasta el momento todo va bien pero recientemente me tope con scripts los cuales no puedo raspar, a continuacion envio el codigo con el estoy trabajando es parte de la ulitma pagina en la cual me quede:

PHP:
<?php
   require 'simple_html_dom.php';

   $url = 'http://www.remax.bo/Terreno-En-Venta-Sacaba-Chapare_120020002-232?LFPNNSource=Search&cKey=120020002-232';

   $html = file_get_html($url);
   

   $posts = $html->find('div[class=listing-full mm-page mm-slideout]');


   foreach ($posts as $post) {


   	/**$link = $post->find('div a', 0);
	$a = $link->attr['href'];
	$title = $link->innertext;*/

	$titulo = $post->find('div[class=titlebar-listfull-h1] h1', 0);

	$precio = $post->find('div[class=key-price-div] a', 0);

	$zona = $post->find('div[class=key-data] div', 0);




	$coord = $post->find('div[class=googlemap-office] script', 1);

	








	echo "<table border='2'>";
	echo "<tr>";
	echo "<td>",$titulo,"\n","</td>";
	echo "</tr>";
	echo "<tr>";
	echo "<td>",$precio,"\n","</td>";
	echo "</tr>";
	echo "<tr>";
	echo "<td>",$zona,"\n","</td>";
	echo "</tr>";
	echo "<tr>";
	echo "<td>",$coord,"\n","</td>";
	echo "</tr>";
	echo "</table>";


   }
?>


Este es el codigo con el cual estoy trabajando en la ultima pagina en la parte antes del echo esta con la variable $coord estaba intentando extraer todo lo que esta dentro del script pero no me resulta no obtengo nada intente de varias formas pero no logro obtener nada.. ahora les envio el script el cual quiero extraer:


HTML:
 <script type="text/javascript">
        var map = (function () {

            var out = {};

            
                var lat = -17.389444;
                var lng = -66.103301;
            
            
            var maxzoom = 19;

            var opts = {
                infoWindowContent: "",
                infoWindowOnMarkerClick: "false",
                zoom: 10,
                
                    marker: {
                        icon: "/common/images/GoogleMaps/pointer_1.png",
                        shadow: "/common/images/GoogleMaps/shadow_1.png",
                        title: ""
                    },
                
                disabled: "false",
                customMapPopup: "false"
            };


            var init = function (suffix) {
                maps.LeafletOpenMap['initialize']('mapid-leaflet', lat, lng, opts);
            }
            
            out = {
                initialize: init,
                initializeOnDocumentReady: null,
                initializeOnWindowReady: null,
                onMapInitialized: null,
                getOptions: function() { return opts; },
                setOptions: function(o) { $.extend(opts, o); },
                getMap: maps.LeafletOpenMap.getMap,
                getMarker: null,
                getLat: function() { return lat; },
                getLng: function() { return lng; },
                getMaxzoom: function() { return maxzoom; },
                getMapProvider: function () { return 'LeafletOpenMaps'; }
            }

            return out;

        })();

        
            map.initialize();
        

        // Attach map popup event listeners
        function onMapClick(e) {
            openCustomPopupWindow();
        }
        function onMarkerClick(e) {
            openCustomPopupWindow();
        }
        function openCustomPopupWindow() {
            var popup = window.open("", "openmap_popup", 'width=725,height=540,scrollbars=no,resizable=no,titlebar=no,location=no,status=no');
        }           

    </script>



este es el script del cual necesito sacar la informacion mas detalle necesito las coordenadas alguna sugerencia o pauta de como resolver me seria de gran ayuda gracias....
 
[MENTION=208040]lordraven[/MENTION] Prueba con esto!

PHP:
preg_match('/var lat = (.*?);/', $coord, $lat_matches);
preg_match('/var lng = (.*?);/', $coord, $lng_matches);
		
echo $lat_matches[1];
echo $lng_matches[1];
 
Super gracias me sirvio de mucho...ya lo probe y funciono luego subo el codigo completo del raspado de es pagina....
 
Atrás
Arriba