【发布时间】:2014-11-07 16:29:31
【问题描述】:
您好,我目前从网络抓取脚本中得到了一个回显 176 8 58 的输出。我想把这个脚本打包成一个变量,并在网站的其他地方回显。
我已经这样做了
ob_start();
echo $node->nodeValue. "\n";
$thenumbers = ob_get_contents();
ob_end_clean();
但是当我像这样回应它时
现在在网站上,数字是跨度的,并由“/”分隔,我需要做任何花哨的事情吗?我是 PHP 的新手,所以如果它有些愚蠢,请告诉我!
<?php echo $thenumbers ?>
我的输出是 176 8 58
非常感谢您的帮助
(我正在使用的网络抓取脚本必须隐藏我正在抓取的网站,因为它正在开发中)
<?php
$teamlink = rwmb_meta( 'WEBSITE_HIDDEN' );
$arr = array( $teamlink );
foreach ($arr as &$value) {
$file = $DOCUMENT_ROOT. $value;
$doc = new DOMDocument();
$doc->loadHTMLFile($file);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("//*[contains(@class, 'table')]/tr[3]/td[3]/span");
if (!is_null($elements)) {
foreach ($elements as $element) {
$nodes = $element->childNodes;
foreach ($nodes as $node) {
ob_start();
echo $node->nodeValue. "\n";
$win_loss = ob_get_contents();
ob_end_clean();
}
}
}
}
?>
p.s 我知道该脚本可以作为其当前输出的标准文本正常工作。
【问题讨论】:
-
你有一个额外的
},这是复制错误吗? -
嗨 Barmar,你在哪里看到这个?
-
NM,因为缩进不好,我没有看到
foreach语句之一。
标签: php web numbers screen-scraping forward