首页 > 编程知识 正文

php定时采集,php 定时

时间:2024-03-25 09:50:24 阅读:333359 作者:IKUK

本文目录一览:

PHP 定时获取网页内容放到某变量中并显示出来

那你可以用jquery的ajax方法, 然后php负责读取的内容, 然后返回结果, 或者获取到此内容之后, 通过js来进行字符串分析, 用js做分析的例子是

index.php内容为

?php

$str = file_get_contents("");

echo $str;

?

script

setInterval(function() {

$.getScript("index.php", function(){

var str = hq_str_hf_XAG;

var array = str.split(",");

var t = array[0];

$("#abc").val(t)

});

}, 1000 * 60);

/script

div id="abc"/div

phpcms网站建设中采集的方法,怎么样做采集

工具/原料

PHPCMS

文章采集器

方法/步骤

1、首先我们需要下载并安装GBK格式的PHPCMS系统。

2、下载PHPCMS和文章采集器的接口文件

3、将jiekou.php文件复制到网站的根目录下,并用记事本打开该文件,修改“密码验证”栏目password处的密码

4、启动文章采集器,先点击【第三步发布内容设置】中的"web发布管理配置"

5、在弹出的【web发布配置管理】窗口中单击右侧的【更多】按钮,导入“phpcms9.wpm”配置模块,并选择该模块

6、设置【web发布配置管理】中的编码设置、登录操作、获取分类栏目等选项

7、单击【测试】按钮,在弹出的【发布配置测试】对话框中设置标签和内容的值,此项为必须设置,否则发布测试文章会失败。至此PHPCMS已经与文章采集器连接成功。

PHP实现定时任务的几种方式

一. 简单

?php

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.

set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去

ini_set('memory_limit','512M'); // 设置内存限制

$interval=60*30;// 每隔半小时运行

do{

//ToDo

sleep($interval);// 等待5分钟

}

while(true);

二. 简单 可控型

config.php

?php

return 1;

?

cron.php

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.

set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去

$interval=60*30;// 每隔半小时运行

do{

$run = include 'config.php';

if(!$run) die('process abort');

//ToDo

sleep($interval);// 等待5分钟

}

while(true);

三. 简单 改进型

?php

$time=15;

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

/*

function

*/

sleep($time);

file_get_contents($url);

?

php高手,dedecms(织梦)系统怎么弄才能做到(定时自动采集)求指导……谢谢……

这个系统是PHP写的,虽然PHP可以写计划任务的程序,但是他需要有人访问站点进行触发执行,否则他自己不会执行。

php采集大数据的方案

1、建议你读写数据和下载图片分开,各用不同的进程完成。

比如说,取数据用get-data.php,下载图片用get-image.php。

2、多进程的话,php可以简单的用pcntl_fork()。这样可以并发多个子进程。

但是我不建议你用fork,我建议你安装一个gearman worker。这样你要并发几个,就启几个worker,写代码简单,根本不用在代码里考虑thread啊,process等等。

3、综上,解决方案这样:

(1)安装gearman worker。

(2)写一个get-data.php,在crontab里设置它每5分钟执行一次,只负责读数据,然后把读回来的数据一条一条的扔到 gearman worker的队列里;

然后再写一个处理数据的脚本作为worker,例如叫process-data.php,这个脚本常驻内存。它作为worker从geraman 队列里读出一条一条的数据,然后跟你的数据库老数据比较,进行你的业务逻辑。如果你要10个并发,那就启动10个process-data.php好了。处理完后,如果图片地址有变动需要下载图片,就把图片地址扔到 gearman worker的另一个队列里。

(3)再写一个download-data.php,作为下载图片的worker,同样,你启动10个20个并发随便你。这个进程也常驻内存运行,从gearman worker的图片数据队列里取数据出来,下载图片

4、常驻进程的话,就是在代码里写个while(true)死循环,让它一直运行好了。如果怕内存泄露啥的,你可以每循环10万次退出一下。然后在crontab里设置,每分钟检查一下进程有没有启动,比如说这样启动3个process-data worker进程:

* * * * * flock -xn /tmp/process-data.1.lock -c '/usr/bin/php /process-data.php /dev/null 21'

* * * * * flock -xn /tmp/process-data.2.lock -c '/usr/bin/php /process-data.php /dev/null 21'

* * * * * flock -xn /tmp/process-data.3.lock -c '/usr/bin/php /process-data.php /dev/null 21'

不知道你明白了没有

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。