从网址抓取数据

时间:2010-03-20 18:02:07

标签: php

我有一项任务 - 我必须从URL中获取一些数据。链接是http://cba.am。 我要采取的数据,在一些表中,我有唯一的标识符,以达到我想要的数据,这是“usd”这个词写在那个表(html)! 我写了以下脚本,它的工作原理!但我从未听说过更有经验的程序员做这些事情,所以我想听听你的评论。


这是脚本

<?php
    $str = file_get_contents("http://cba.am/");
    $key_usd = "USD";
    $sourse_usd_1 = explode($key_usd,$str);
    $usd1 = $sourse_usd_1[2];
    $sourse_usd_2=explode(">",$usd1);
    $usd2 = $sourse_usd_2[4];
    $sourse_usd_3=explode("<",$usd2);
    $usd = $sourse_usd_3[0];
?>
抱歉英语不好:)

2 个答案:

答案 0 :(得分:2)

嗯,只要这种方法适合你(而且它们不会给你带来麻烦),那就没问题了。这种技术称为“刮擦”。但是,如果他们决定更改其网站的结构,例如更改HTML标记或其位置,您的脚本将会中断,您将不得不更新它。 (你最好有一个机制来检测数字是否有意义,所以你可以收到警告。)

更好更清洁的方法是让它们(在这种情况下是中央银行)以定义的形式发布数据,例如:作为Web服务,您可以访问的RSS提要或XML输出。

答案 1 :(得分:1)

我过去曾使用过cURL,您可能有兴趣阅读更多相关内容。

要记住的一个要点是,如果可能的话,您真的应该查询定义良好的API(例如REST Web服务),而不是尝试浏览网页。这是因为网页上的数据格式可能会随时发生变化,但是如果在您从中提取数据的网站上发生任何更改,则API将更加稳定,并且您的代码不会中断。

相关问题