php采集器
A. php 数据采集 太慢
用了后台服务程序了,但这些后台服务程序可能不是PHP写的,数据采集器本身就是一个程序,PHP告诉他干什么,干完了通知一下就行,PHP检查是否干完就行了,一般应用程序中比较繁琐的操作,都会写后台程序,另开几个线程,或用另外进程来处理,网络编程其实我不懂,我想应该是同样的方法。。。
B. php使用3种方法实现数据采集 什么叫采集
下面的php代码可以将表格的每行每列转为数组,采集表格数据
<?php function get_td_array($table) { $table = preg_replace("'<table[^>]*?>'si","",$table); $table = preg_replace("'<tr[^>]*?>'si","",$table); $table = preg_replace("'<td[^>]*?>'si","",$table); $table = str_replace("</tr>","{tr}",$table); $table = str_replace("</td>","{td}",$table); //去掉 html 标记 $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table); //去掉空白字符 $table = preg_replace("'([rn])[s]+'","",$table); $table = str_replace(" ","",$table); $table = str_replace(" ","",$table); $table = explode('{tr}', $table); array_pop($table); foreach ($table as $key=>$tr) { $td = explode('{td}', $tr); array_pop($td); $td_array[] = $td; } return $td_array; } ?>
C. php 采集个网站内容
$data=get_meta_tags('url');
echo $data['description'];
D. 求一个开源PHP的小说整站系统,采集器要好用一点的
①http://www.163box.com/showurl.asp?id=13101
贰http://www.cnzz.cc/code/122.html
E. PHP中怎样实现文章采集
只举例说明,生产环境你自己根据情景去搞
$url = 'www.domain.com';
$content = file_get_content($url);//抓取网页全部内容
preg_match( string pattern, string subject [, array matches ] );//正则获取自己需要的内内容
入库~
完事了。容。。
当然,情形复杂,例如需要登录,采集目标限制等问题,这再说...
实际使用的时候,可以直接使用Snoopy类,提供好多方法供使用,比自己去造轮子要安全,当然,你可以在她的基础上再去造轮子~~~
F. 我编写了一个php采集器。主要是采集某个网站的文本信息,可是浏览器时间一长就断了
这是因为,PHP脚本是一般情况下只能运行30秒左右,
具体数据与服务器的设置有关。
如果你的脚本超时,就要对任务对进分解。
做成任务接力的形式。
当PHP页面处理大事务时,页面往往会发生超时的错误,我解决此问题的方法如下:
1.优化程序代码:
这种方法可能有时立竿见影,但对一些已经很优化或者第三方开发的程序,可能用处不大,但我个人觉得这个办法还是应该优先考虑,这个一个优秀程序员必需有的工作美德。
2.对多个任务进行拆分:
对于一些程序,可能问题并不出现在代码效率上,如Paypal的SOAP调用,大量时间花费在网络的数据传递上了,(此问题在Web Services的远程调用时经常发生),我们当然不能等将来网速的提高来解决这个问题。其实我们可以查看一下在一个POST动作中是否包含了多个任务,如付费、发Email、发货等等。如是这样其实可以对这些任务进行拆分,把这个工作拆分成多个子工作来实现。如执行完付费任务时,使用PHP的 Header函数重定向到发送Email的页面,完成后再定向到其他页面,采用redirect页面的方式来接力地完成任务。
设计三个PHP文件,分别是s2.php s3.php s4.php
让这三个文件进行接力,
s2.php的内容如下
<?php
ob_start();
sleep(3);//代表做某些任务所用的时间
echo "在做第一件事。";
header("Location: http://127.0.0.1/s3.php?i=1");
ob_end_flush();
?>
s3.php的内容如下:
<?php
ob_start();
$i=$_GET['i']+1;
echo “在做第二件事”;
sleep(3);//用来代表做了某件事件
header("Location: http://127.0.0.1/s4.php?i=$i");
ob_end_flush();
?>
s4.php
<?php
ob_start();
$i=$_GET['i']+1;
sleep(3);
echo "在做第三件事";
ob_end_flush();
?>
变量i用来传送文件之间的参数。
G. php自动采集如何实现
PHP自动采集能一定程度的实现,部分网站的页面结构存在一定的共通点,比回如文章内容页答的标题,不少网站是标记在<h1>里的,实在不行,就采集<title>,绝对能采到,然后、过滤掉title里面的网站名称。
采集文章内容就相对麻烦,但是通过层层分析,层层剥离,一定要进行大量的网站分析,写出多套通用性比较强的采集规则,程序在采集的时候也要进行大量分析。
有几点是可以肯定的,那就是绝对不能要求采集效果达到为某个网站单独写采集规则来的效果好,也绝对不是能匹配任意网站,顶多能匹配部分网站。
H. php小说采集器要采集每一章节怎么写
用preg_match_all函数采集所有章节的url,再正则截取每个url里面的指定内容,建议直接用火车头就好了,
I. 用PHP进行数据采集
$strPreg = "|<td[^>]+>([^<]+)<\/td>\s*<td[^>]+>([^<]+)<\/td>\s*<td[^>]+>([^<]+)<\/td>|U";
搞定了才发现你都没悬赏分。。。