首页  >  文章  >  后端开发  >  php实现的采集小程序,做采集的必看

php实现的采集小程序,做采集的必看

PHPz
PHPz原创
2017-04-03 16:04:323407浏览

以下是我搜集的php实现的采集小程序,自己测试可用,做采集很实用哦!

<?php
//调用方法 :localhost/2.php?id=1 (自动采集1-8的列表)
header("Content-type:text/html;charset=utf-8");

$con =mysql_connect("localhost", "root", "huweishen.com") or die("数据库链接错误");
mysql_select_db("liuyan", $con);
mysql_query("set names &#39;utf8&#39;");

function preg_substr($start, $end, $str) // 正则截取函数        
{        
    $temp = preg_split($start, $str);        
    $content = preg_split($end, $temp[1]);        
    return $content[0];        
}     
function str_substr($start, $end, $str) // 字符串截取函数        
{        
    $temp = explode($start, $str, 2);        
    $content = explode($end, $temp[1], 2);        
    return $content[0];       
}     
// ---------------- 使用实例 ----------------     
 
if($_GET[&#39;id&#39;]<=8&&$_GET[&#39;id&#39;]){

$id=$_GET[&#39;id&#39;];
$url = "http://www.037c.com/New/list_5_$id.html"; //目标站
$fp = fopen($url, "r") or die("超时");
$fcontents = file_get_contents($url);
$pattern="/<\/span><a href=\"(.*)\" title=\"(.*)\"  target=\"_blank\">/iUs";//正则
preg_match_all($pattern, $fcontents, $arr);
//print_r($arr);
         foreach($arr[1] as $k=>$url)
         {   
	     $title = iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, addslashes($arr[2][$k])); 
		// echo $title;
		// echo $url; 
	    $str = iconv("GB2312","UTF-8",  file_get_contents($url));  
        $author = preg_substr("/作者:/", "/<\//", $str); // 通过正则提取作者     
        $content = str_substr(&#39;<p class="wltg">&#39;, &#39;</p>&#39;, $str); //通过字符串提取标题     
		$sql = "INSERT  INTO  `caiji` (`title`, `url` , `content`, `author` ) VALUES (&#39;$title&#39;, &#39;$url&#39; , &#39;$content&#39; , &#39;$author&#39;)";

		// echo $sql."<br/>";
         mysql_query($sql);
         }  

     $id++;
    echo "正在采集URL数据列表$id...请稍后...";
    echo "<script>window.location=&#39;2.php?id=$id&#39;</script>";
  }

else{
   echo "采集数据结束。";
 }
?>


其中 title 设置唯一,可以防止重复采集,很好的的一个php采集小程序,作者:风云无忌

以上是php实现的采集小程序,做采集的必看的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn