本文目录一览:
- 1、PHP 定时获取网页内容放到某变量中并显示出来
- 2、phpcms网站建设中采集的方法,怎么样做采集
- 3、PHP实现定时任务的几种方式
- 4、php高手,dedecms(织梦)系统怎么弄才能做到(定时自动采集)求指导……谢谢……
- 5、php采集大数据的方案
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'
不知道你明白了没有