Cron任务/抓取数据(Curl?)插入表单并提交


Cron task / Grab data (Curl?) Insert into form and submit it

我正试图从外部网站检索数据,该网站有1行文本/URL,每5分钟更改一次。现在,我想用这个URL提交一个带有这个URL的表单(每5分钟),并将其存储到我的数据库中(php文件上的Cron作业?),或者直接将其插入到我的mysql数据库中。

这可能吗?

据我所知,您想要获得两项任务:

1) 从外部页面获取URL并将其存储在DB 中

2) 每5分钟执行一次以上。

它们在这里:

1) CURL是一种很好的方式,应该在所有服务器上都可用。您也可以尝试file_get_contents,因为它在您的服务器上没有限制。卷曲函数如下:

<?php
function curl_get_file_contents($URL)
    {
        $c = curl_init();
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($c, CURLOPT_URL, $URL);
        $contents = curl_exec($c);
        curl_close($c);
        if ($contents) return $contents;
            else return FALSE;
    }
?>

此函数返回包含页面内容的字符串。可能您需要从中提取您的URL,如果URL具有恒定长度,请使用PHPSUBSTR,或STRPOS。当你得到你的URL时,把它存储在数据库中——不需要使用表单。

2) 每5分钟执行一次脚本的最简单方法是使用javascript。它会是这样的:

<html>
<head>
<script type="text/JavaScript">
<!--
function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}
//   -->
</script>
</head>
<body onload="JavaScript:timedRefresh(300000);">
<?php // your code here

这个页面将每5分钟(30万毫秒)刷新一次,每次都会执行PHP脚本,但你必须在浏览器中不断打开它。这是一个问题,使用CRON(我几乎没有使用过,所以这里没有我的帮助)。