带有XPath的PHP不会在托管人放下后返回结果

时间:2018-06-21 17:45:10

标签: php xpath

我已经使用XPath创建了一个简单的PHP脚本,以从特定网站获取一些内容。

<?php 
   $url = "http://www.weltfussball.de/spielbericht/bundesliga-2017-2018-1899-hoffenheim-borussia-dortmund/";

   $html = new DOMDocument();
   libxml_use_internal_errors(true);
   $html->loadHTMLFile($url);
   $xpath = new DOMXPath($html);
   libxml_clear_errors();

   $xpath_team = $xpath->query('//table[3]/tr/th[1]');
   print_r($xpath_team[0]);
?>

感兴趣的HTML行:

<th align="center" width="35%"><a href="/teams/1899-hoffenheim/" title="1899 Hoffenheim">1899 Hoffenheim</a></th>

因此,预期结果应该是一个值类似于“ 1899 Hoffenheim”的数组。但是,如果我将浏览器更新到bplaced.net托管网站,则只会得到错误:

Warning: DOMDocument::loadHTMLFile() [domdocument.loadhtmlfile]: Sorry, an internal error occured. Please report this immediately! (2) in /users/spielerdaten/www/versuch1.php on line 7

Warning: DOMDocument::loadHTMLFile(http://www.weltfussball.de/spielbericht/bundesliga-2017-2018-1899-hoffenheim-borussia-dortmund/) [domdocument.loadhtmlfile]: failed to open stream: operation failed in /users/spielerdaten/www/versuch1.php on line 7

My testwebsite

现在有趣的部分是:相同的脚本昨天正常工作,没有任何问题。不过,无论是通过我的网络托管商还是在我尝试从中获取内容的网站上,我都找不到任何更改。

我已经尝试对小代码示例进行了一些更改,并检查了错误,但找不到任何错误。因此,我尝试用Google搜索出现的第一个错误行(因为这对我来说是新的),但这并没有真正的帮助:Google Search

像往常一样,stackoverflow.com现在是我最后的希望,是了解导致该混乱的错误。

1 个答案:

答案 0 :(得分:0)

您用[3]击中的表就是创建此enter image description here

的表

...但是这样做很累,无法解释为什么(也许明天)://div[@class="box"]/div[@class="data"]//a