Einige Webseiten konnte ich mit dem genialen Tool PHP Simple HTML DOM Parser nicht crawlen, weilder Inhalt, den die Methode file_get_contents() false zurücklieferte.
Um den Fehler zu fixen, war es lediglich nötig, den Funktionsaufruf zu ersetzen:
$html = file_get_html($myUrl);
durch die Funktion und die Nutzung von Curl mit einem korrektem USER_AGENT Header:
$html = getHtml($myUrl);
function getHtml($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); $str = curl_exec($curl); curl_close($curl); $html = str_get_html($str); return $html; }
Curl is dazu noch performanter als file_get_contents().
Bei anderen Fehlern und Problem lohnt sich die sehr gute FAQ Seite des Projektes.