0

此代码位于外部 URL: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 等

4

2 回答 2

4

由于安全限制仅允许您从自己的站点加载数据,您将无法使用 javascript 执行此操作。

您必须使用 php 提取内容(使用像file_get_contents这样简单的东西)然后解析它。

对于解析,请阅读这篇综合文章:

您如何在 PHP 中解析和处理 HTML/XML?

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";
}
于 2013-04-02T04:06:02.913 回答
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方式。有很多这样的免费解析器可用。

于 2013-04-02T04:22:12.323 回答