从snowbird.com获取雪数据的PhP curl simple_dom_文档请求
我使用php、curl和simple_dom_文档从snowbird.com获取雪数据。问题是我似乎找不到我需要的数据。我可以找到父div及其名称,但我找不到实际的snow info div。这是我的代码。下面是我的代码输出的一小部分从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
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的帮助,我可以让它工作了。你们是一个救生员