Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从snowbird.com获取雪数据的PhP curl simple_dom_文档请求_Php_Html_Curl_Simple Html Dom - Fatal编程技术网

从snowbird.com获取雪数据的PhP curl simple_dom_文档请求

从snowbird.com获取雪数据的PhP curl simple_dom_文档请求,php,html,curl,simple-html-dom,Php,Html,Curl,Simple Html Dom,我使用php、curl和simple_dom_文档从snowbird.com获取雪数据。问题是我似乎找不到我需要的数据。我可以找到父div及其名称,但我找不到实际的snow info div。这是我的代码。下面是我的代码输出的一小部分 <?php require('simple_html_dom.php'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.snowbird.com/mountain-re

我使用php、curl和simple_dom_文档从snowbird.com获取雪数据。问题是我似乎找不到我需要的数据。我可以找到父div及其名称,但我找不到实际的snow info div。这是我的代码。下面是我的代码输出的一小部分

<?php
require('simple_html_dom.php');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.snowbird.com/mountain-report/"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT     5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
$content = curl_exec($ch);
curl_close($ch);


$html = new simple_html_dom(); 
$html->load($content);


$ret = $html->find('.horizSnowChartText');
$ret = serialize($ret);
$ret3 = new simple_html_dom();
$ret3->load($ret);
$es = $ret3->find('text');
$ret2 = $ret3->find('.total-inches');

print_r($ret2);
//print_r($es);
?>

这是输出的图片。您可以看到,它跳过了实际的雪数据,直接进入英寸标记”。

请注意,您正在获取的html标记有多个
.total inches
(该类有多个节点)的实例。如果要显式获取一个,可以使用
->find()的第二个参数直接指向它

例如:

$ret2 = $html->find('.total-inches', 3);
                                   // ^
如果您想全部查看,一个简单的
foreach
就足够了:

foreach($html->find('.current-conditions .snowfall-total .total-inches') as $in) {
    echo $in , "\n";
}

如果您已经找到了它,一个简单的
echo
就可以满足您对总英寸的需求了?
echo$ret3->find(“.total inches”)->innertext;
@Ohgodwhy非常感谢,我发现我的问题不是使用->innertext,就像你在评论中显示的那样。非常感谢你。有了你和Ohgodwhy的帮助,我可以让它工作了。你们是一个救生员