使用PHP Curl,我想将H1扫描到数据库中

时间:2011-01-09 09:17:28

标签: php curl

我想每小时刮一个网站,让我们说CNN,并将H1中的任何标题添加到我的MYSQL表的新行中。我该怎么做?

2 个答案:

答案 0 :(得分:3)

我不希望任何人为你完成整个工作,但这里有一些东西让你开始。

首先,您需要获取实际来源,您可以使用file_get_contentscurl。有很多关于如何在这里的信息。

然后你需要为所有H1标签刮取CNN。一种简单的方法是使用DOMDocument。这是一个简单的函数,可以从HTML源代码中获取所有标题:

function get_h1($html) {
    $dom = new DOMDocument();
    @$dom->loadHTML($html); // Supress warnings if our html is not well formed
    $headings = $dom->getElementsByTagName("h1");

    $retval = array();

    foreach($headings as $header) {
        $retval[] = $header->nodeValue;
    }

    return $retval;
}

请注意,这并不考虑不同的编码等。

解析的另一个选择是使用优秀的PHP Simple HTML DOM Parser

然后您需要将其保存到数据库中,您可以使用mysqliPDO库。

最后,您需要每小时运行一次。使用cron-jobs执行此操作。您可以找到有关如何设置cron作业here的信息。

这应该有助于您入门。您可能希望为此添加更多功能,例如确保不添加重复标题等。

答案 1 :(得分:0)

你知道,这让我很好奇。我正在玩NodeJS。我敢打赌,服务器端的JQuery和AJAX可以在闪存中真正敲出这样的东西。虽然不确定是否要连接到数据库,但解析将是一个蛋糕步行。