2011-08-01 62 views
0

发送404 FPF但可见如果你访问这个页面在浏览器:http://www.x-rates.com/d/TRY/table.html你可以看到,它工作正常,但是当我尝试做$doc = new DOMDocument(); $doc->loadHTMLFile('http://www.x-rates.com/d/TRY/table.html');返回404我自己也尝试做file_get_contents()和发送HTML到DOMDocument这种方式,但没有运气。任何帮助感激地收到。文件在浏览器中

回答

4

404看起来你已经给该URL的标准响应代码:

$ curl -I http://www.x-rates.com/d/TRY/table.html 
HTTP/1.1 404 Not Found 
Date: Mon, 01 Aug 2011 12:23:49 GMT 
Server: Apache/2.2.19 
Content-Type: text/html 

可以获取对HTTP响应主体和的DomDocument加载它作为一个字符串。

这可以用file_get_contentsDocs进行,并设置ignore_errors HTTP context option。示例代码:

$url = 'http://www.x-rates.com/d/TRY/table.html'; 

// Create a stream 
$opts = array(
    'http'=>array(
    'ignore_errors'=> true, 
) 
); 

$context = stream_context_create($opts); 

// Open the file using the HTTP headers set above 
$file = file_get_contents($url, false, $context); 

$doc = new DOMDocument(); 
$doc->loadHTML($file); 
0

页面正在返回一个404,我相信这是故意使它难以刮擦它。我发现这个在其网站上:

与工具,如PHP,LWP,Java和微软获取数据控件,例如不允许

您可能要仔细检查你实际上是允许要做你正在做的事,我担心你可能会侵犯版权。

+0

你在哪里看到这个说法,我发现没有像,在这个特定的网站,因为我找了事前。 –

+0

此限制是由使用和版权页面http://www.x-rates.com/copyright.html的条款暗示,但我发现开发者页面上,准确的句子http://www.x-rates.com/ developers.html – ZoFreX