此代码位于外部网址:www.example.com。
</head><body><div id="cotizaciones"><h1>Cotizaciones</h1><table cellpadding="3" cellspacing="0" class="tablamonedas">
<tr style="height:19px"><td class="1"><img src="../mvd/usa.png" width="24" height="24" /></td>
<td class="2">19.50</td>
<td class="3">20.20</td>
<td class="4"><img src="../mvd/Bra.png" width="24" height="24" /></td>
<td class="5">9.00</td>
<td class="6">10.50</td>
</tr><tr style="height:16px" valign="bottom"><td class="15"><img src="../mvd/Arg.png" width="24" height="24" /></td>
<td class="2">2.70</td>
<td class="3">3.70</td>
<td class="4"><img src="../mvd/Eur.png" width="24" height="24" /></td>
<td class="5">24.40</td>
<td class="6">26.10</td>
</tr></table>
我想获得td的值,有什么建议吗? php,jquery等。
答案 0 :(得分:4)
由于安全限制只允许您从自己的网站加载数据,因此您将无法使用javascript执行此操作。
您必须使用php(使用像file_get_contents这样简单的内容)来提取内容,然后解析它。
对于解析,请阅读这篇全面的文章:
How do you parse and process HTML/XML in PHP?
DOM可能是您最好的选择。
尝试玩这个:
$html = file_get_contents('/path/to/remote/page/');
$dom = new DOMDocument;
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('td') as $node) {
echo "Full TD html: " . $dom->saveHtml($node) . "\n";
echo "TD contents: " . $node->nodeValue . "\n\n";
}
答案 1 :(得分:0)
它不可能与jquery一起使用,但是你可以用PHP轻松完成它。
使用file_get_contents将页面的完整源代码读入字符串。
解析,标记包含整个页面源的字符串,以获取所有td值。
<?php
$srccode = file_get_contents('http://www.example.com/');
/*$src is a string that contains source code of web-page http://www.example.com/
/*Now only thing you have to do is write a function say "parser" that tokenise or parse the string in order to grab all the td value*/
$output=parser($srccode);
echo $output;
?>
在解析字符串以获得所需的输出时必须非常小心。对于解析,您可以使用正则表达式或创建自己的查找表。您可以使用PHP5编写的HTML DOM解析器,它允许您操作HTML一个非常简单的方法。很多这样的免费解析器都可用。