+ -
当前位置:首页 → 问答吧 → 采集新闻程序分享新增采集内容源码

采集新闻程序分享新增采集内容源码

时间:2009-06-24

来源:互联网

采集链接演示:
http://www.dlwin.com/n.php
#文件名称: n.php
#功能描述: 信息采集模块
#程序制作:留印(adleyliu)
#联系qq :14339095
#联系邮箱:[email protected]
#官方网站: http://www.115000.com.cn
#copyright (c) 2007-2008 115000.com.cn all rights reserved.
#最后更新: 2008-11-3
#*********************************************************

$yl_class = new yl_class();
#*********************************************************
#类
#*********************************************************
class yl_class{
#*********************************************************
#读取文件函数
#*********************************************************
function yl_openxhttp($url,$mode)
{
$file_body = fopen($url,$mode);
$file_str = '';
while ($s = fgets($file_body, 1024)){
$file_str .=$s;
}
fclose($file_body);
return $file_str;
}
#*********************************************************
#正则表达式批量获取首尾字符串之间内容
#*********************************************************
function yl_strstr_gather($b_strs,$e_strs,$body_strs)
{
$b_strs =$this -> yl_replace_str($b_strs,'/','\/');
$e_strs =$this -> yl_replace_str($e_strs,'/','\/');
$t_str = \"/\".$b_strs.\"(.*?)\".$e_strs.\"/is\";
preg_match_all($t_str, $body_strs, $array);
$out_strs = $array[1][0];
return $out_strs;
}
#*********************************************************
#替换函数
#*********************************************************
function yl_replace_str($get_string,$strbad,$strgood){
//ereg_replace
$strbadarr = explode(\"|\", $strbad);
$get_stringstr = trim($get_string);
if (count($strbadarr) == 1){
$get_stringstr = str_replace($strbad,$strgood,$get_stringstr);
}else{
for($s=0;$s<count($strbadarr);$s++){
$get_stringstr = str_replace($strbadarr[$s],$strgood,$get_stringstr);
}
}
return $get_stringstr;
}
}

function yl_i_info_acquisition(){
global $yl_class,$xyy;
global $yl_num,$yl_starturl,$yl_startdomain,$yl_area1,$yl_area2,$yl_areareplace,$yl_url1,$yl_url2;
#*********************************************************
#采集新闻列表
#*********************************************************
//获取目标内容
//if (file_exists($yl_starturl)){
$starturlstr = $yl_class->yl_openxhttp($yl_starturl,'r');

//$starturlstr = $xyy->GB2312TOUTF8($starturlstr);//转换编码 网上有编码转换的类

//$starturlstr = $yl_class->yl_get_url_content($yl_starturl,'r');
//}else{
//echo '目标地址无法打开!';
// exit;
//}
//信息列表范围
$liststr = $yl_class -> yl_strstr_gather($yl_area1,$yl_area2,$starturlstr);
$liststr = stripslashes($liststr);
if ($yl_areareplace != ''){//过滤指定字符
$liststr = $yl_class -> yl_replace_str($liststr,$yl_areareplace,'');
}
//信息列表链接
$yl_url1 =$yl_class -> yl_replace_str($yl_url1,'/','\/');
$yl_url2 =$yl_class -> yl_replace_str($yl_url2,'/','\/');
if ($yl_url2 == ''){
$yl_url2 = ' ';
}
$a_str = '/<a(.*?)'.$yl_url1.'(.*?)'.$yl_url2.'(.*?)>(.*?)<\/a>/is';
preg_match_all($a_str, $liststr, $n);

if ($yl_num == 0){
$yl_numstr = count($n[2]);
}else{
$yl_numstr = $yl_num;
}
for($i=0; $i < $yl_numstr; $i++ ){
$info_str .= '<li>';
$info_str .= '<a href=\"'.$yl_startdomain.''.$n[2][$i].'\" target=\"_blank\">';
$info_str .= ''.$n[4][$i].'';
$info_str .= '</a>';
$info_str .= '</li>';
}
return $info_str;
}
#内容采集
//开发中...

作者: aba01239   发布时间: 2009-06-24