Home >Backend Development >PHP Tutorial >Collection applet implemented in PHP, a must-read for those who want to collect data

Collection applet implemented in PHP, a must-read for those who want to collect data

PHPz
PHPzOriginal
2017-04-03 16:04:323426browse

The following is a collection applet implemented in PHP that I collected. It can be used for testing by yourself. It is very practical for collection!

<?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 "采集数据结束。";
 }
?>


The title setting is unique, which can prevent repeated collection. It is a very good php collection applet, author: Fengyun Wuji

The above is the detailed content of Collection applet implemented in PHP, a must-read for those who want to collect data. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn