Php 我的xpath查询没有返回任何结果
我正试图从Yahoo中获取一些数据,但是当我Php 我的xpath查询没有返回任何结果,php,domxpath,Php,Domxpath,我正试图从Yahoo中获取一些数据,但是当我var_dumpthis时,xpath查询将返回长度0。这是我的一部分抓取代码 error_reporting(0); function curl($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CUR
var_dump
this时,xpath查询将返回长度0。这是我的一部分抓取代码
error_reporting(0);
function curl($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)');
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_AUTOREFERER, false);
curl_setopt($curl, CURLOPT_FRESH_CONNECT, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 200);
return curl_exec($curl);
}
$page = curl('https://www.yahoo.com');
$dom = new DOMDocument();
$dom->loadHTML($page);
$xpath = new DOMXPath($dom);
$link = $xpath->query('//li[@style="background-color:#fafaff;"]/div/div/div/h3/a');
foreach ($link as $links) {
$get_title[] = $links->nodeValue;
$get_link[] = $links->getAttribute('href');
}
此代码没有语法错误,但存在逻辑错误。您的代码工作正常。问题是Yahoo.com返回的HTML根本不包含任何与选择器匹配的li元素。您可以通过查看$page的内容来了解这一点。我检查了每件事。但最后我找到了另一个解决办法。此代码不起作用。所以它只是废品。谢谢从雅虎截取数据的确切方法非常简单。使用Ajax,您可以轻松地删除数据。首先加载yahoo页面,然后在ajax的帮助下删除任何内容。
感谢所有回答我问题的人 删除0中的错误报告,输出在哪里?你输出什么而看不到?你没有任何回声或指纹,你怎么知道它不起作用?偷广告,哪里有第一个,它又不起作用。。我删除错误报告0Dagon您有解决方案吗?请告诉我??我建议您阅读。为了更好地帮助您,我们需要知道您希望您的代码做什么,并且您需要为我们提供尽可能小的代码部分,这些代码部分不能按应有的方式工作。简单地在SO上转储一个大型PHP文件并说“这不起作用,告诉我为什么”是不可能得到答案的。谢谢你的回答。这个错误的解决方案是什么?你认为呢?那现在我该怎么办?