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
Release: 2023-03-07 09:22:01
Original
3438 people have browsed it

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


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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template