简单的html dom错误问题


Simple html dom error issue

大家好,事实上,我正在编写一个小的php脚本,从维基百科和网页中获取内容,这是我使用的代码:

<?
include('dom.php');
$html = file_get_html('http://ar.wikipedia.org/wiki/%D8%AE%D8%A7%D8%B5:%D8%B9%D8%B4%D9%88%D8%A7%D8%A6%D9%8A');
foreach($html->find('h1#firstHeading') as $element) 
       echo $element->span->innertext . '<br>';
?>

但有时我会收到这样的错误信息:

无法打开流:重定向URL 无效

我希望脚本多次尝试,直到这个错误消失,这样他就可以从随机页面中获取内容。

所以这个错误对你来说是可以的,因为你生成了随机页面url?

然后尝试try catch:

function getRandomUrl()
{
    include('dom.php');
    try {
        $html = file_get_html('http://ar.wikipedia.org/wiki/%D8%AE%D8%A7%D8%B5:%D8%B9%D8%B4%D9%88%D8%A7%D8%A6%D9%8A');
        foreach($html->find('h1#firstHeading') as $element) {
            echo "{$element->span->innertext}<br/>";
        }
    } catch (Exception $e) {
        getRandomUrl();
    }
}

你也可以尝试运行没有错误的代码:

@file_get_html($randomUrl);