【发布时间】:2016-03-09 17:53:25
【问题描述】:
这是我的代码:
<?php
$url = "http://www.sportsdirect.com/adidas-goletto-mens-astro-turf-trainers-263244?colcode=26324408";
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTMLFile($url);
$xpath = new DOMXpath($doc);
$name = $xpath->query('//span[@id="ProductName"]')->item(0)->nodeValue;
echo $name;
?>
使用此代码我没有问题。我能够解析链接并获取产品名称。当我尝试解析其他链接时,问题就来了。如果我尝试解析:http://www.sportsdirect.com/playboy-100ml-eau-de-toilette--754217?colcode=75421790
我收到此错误:
Warning: DOMDocument::loadHTMLFile(http://www.sportsdirect.com/playboy-100ml-eau-de-toilette--754217?colcode=75421790): failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in /public_html/test.php on line 5
我收到此错误是因为当我尝试解析此链接时,我正在解析的网站正在检查我的浏览器 cookie,如果我没有将名称 ChosenSite 设置为 www 的 cookie,它会立即将我重定向到解析来自 http://bg.sportsdirect.com/playboy-100ml-eau-de-toilette--754217?colcode=75421790 的数据无法提供此数据,从那里我得到了没有得到名称的问题。
所以我的问题是:
如何设置 cookie 或使用其他方法解析此链接?
提前致谢!
【问题讨论】:
标签: php cookies xpath domdocument