2017-03-18 3 views
0

Ich möchte alle Bilder von einer Website, wo die Daten in einem inneren div, wie bekomme ich alle Bilder holen. Ich habe es versucht, aber es kann nicht funktionieren. Hier ist mein CodeHolen Sie sich Daten von der Website mit Web Scraping

<?php 
$html = file_get_contents('http://en.vonvon.me/'); //get the html returned from the following url 

$pokemon_doc = new DOMDocument(); 

libxml_use_internal_errors(TRUE); //disable libxml errors 

if(!empty($html)){ //if any html is actually returned 

    $pokemon_doc->loadHTML($html); 
    libxml_clear_errors(); //remove errors for yucky html 

    $pokemon_xpath = new DOMXPath($pokemon_doc); 

    //get all the h2's with an id 
    $pokemon_row = $pokemon_xpath->query('div[class=desc ng-binding]'); 

    if($pokemon_row->length > 0){ 
     foreach($pokemon_row as $row){ 
      echo $row->nodeValue . "<br/>"; 
     } 
    } 
} 
?> 
+1

Also, was ist das Problem? Keine oder falsche Ausgabe? Fehlermeldungen? Überprüft das Fehlerprotokoll? Btw .. wenn Ihr Code nicht funktioniert, sollten Sie die Zeichen "@" entfernen, da diese Fehlermeldungen unterdrücken, die beim Debuggen hilfreich sind. –

Antwort

0

Sie keine Webseiten arbeiten, indem du JavaScript verschrotten können [Angular], scrappers sehen nicht die DOM nach der Ausführung von JavaScript.

aber in der anderen Hand, wenn die Bilder in dem dom waren können Sie verwenden

Das Beste, was für die Simple HTML DOM Parser ist

$html = file_get_html('http://vonvon.me/'); 

// Find all images 
foreach($html->find('img') as $element) 
     echo $element->src . '<br>'; 
+0

können Sie bitte den Code jetzt sehen, das Bild ist in einem inneren div, das ist, warum ich das tun, aber es immer noch nicht funktioniert. – user7657378

+1

Entschuldigung, ich habe das DOM nicht gesehen, bevor die Antwort veröffentlicht wurde, verwendet die Website Angular JS, die Sie nicht verwerfen können. –