2011-01-04 18 views
0

Ich versuche zu kratzen www.weather.bm. Ich möchte alle 10 Radarbilder, aber ich kann nur eins bekommen (das Bild wird regelmäßig aktualisiert) und es ist keine absolute Bild-URL. Ich hatte gehofft, ich könnte das Bild als Bild-Diashow wie den Link verwenden, weiß aber nicht wie. Wie kann ich auch images/Radarlegend.png entfernen? Ich brauche nur die Radarbilder.Scrapping nicht-absolute URL

Hier ist mein Code:

include('simple_html_dom.php'); 
$html = file_get_html('http://www.weather.bm/radarMobile.asp'); 
foreach($html->find('img') as $element) 
echo $element->src . '<br>' 

Meine Ausgabe ist:

<div id="main"> 
images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1556.jpg<br>images/Radarlegend.png<br></div> 
</div> 

Antwort

0
$localOffset = "+2 Hours"; //change this to your local offset from the image times you need. for me (CST) it's 2 hours..... 
    $start= strtotime("-90 Minutes " . $localOffset); // go back 90 minutes (The limit of the available images) 
    $start=($start-($start % (600))+(60*6)); //go to the next earlier 6 minute mark (all images appear to be at the 6 minute mark))appear to be at the 6 minute mark)) 
    for($x=1;$x<=9;$x++){ 
     $DateTime = date("Y-m-d-Hi", $start); // set the image time we want. 
     $fName = ("http://www.weather.bm/images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-$DateTime.jpg"); // set the filename 
     echo" $min <img src='$fName' alt='$fName'/><br/>"; // echo (or add to a stack or variable...) your image node 
     $start+=(600);//add 10 minutes 
    } 
+0

meinst du http://www.weather.bm/radarMobile.asp? Wenn ja, können Sie sehen, dass es animiert ist (über 1 von 10, 2 von 10 und läuft auf 10 Bilder anzeigen Quelle und Sie können den Link der Bilder in einem Javascript (nicht absolut ex.'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-Radar-2011 -01-04-1506.jpg ') Ich kann nur ein Bild bekommen, das das ursprüngliche Bild ist, ich muss die Quelle des Bildes (mit der Domäne und Pfad ex.http: //www.weather.bm /images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1456.jpg) und machen Sie eine Diashow dieser Bilder genau wie auf dem Link, den ich gab. – cooldude

+0

Vielen Dank, ich werde warten – cooldude

+0

können Sie überprüfen, die Code von Goinf zu http://api.fatherstorm.com/test und klicken Sie auf Ihre Frage # 4597854. Von dort können Sie den Code in Aktion sowie den Quellcode sehen – FatherStorm

0

Es gibt eine Liste aller zehn Bilder in der JavaScript ist (Formatierungsänderungen von mir):

radarFileNames = new Array(
    'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1446.jpg', 
    'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1456.jpg', 
    'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1506.jpg', 
    'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1516.jpg', 
    'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1526.jpg', 
    'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1536.jpg', 
    'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1546.jpg', 
    'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1556.jpg', 
    'images/Radar/CurrentRadarAnimation_100km_sri/100km_sri-radar-2011-01-04-1606.jpg'); 

Eine einfache Suche nach Die Zeile mit radarFileNames = new Array gibt diese Zeile zurück. Dann können Sie die URLs mit zwei preg_split()s extrahieren: zuerst unter \(|\), dann teilen Sie das zweite Token auf ', '. Schließlich, Präfix http://www.weather.bm/ zu den URLs.

+0

können Sie mir den Code zeigen, ich bin nur Ich lerne, während ich die Code-Benutzer weitergebe, die mich freundlich genug beraten, ich habe php an und aus studiert und habe keine Ahnung, wie implementieren, was Sie geschrieben haben tut mir leid, Ihre Hilfe ist sehr dankbar, danke – cooldude

Verwandte Themen