php 採集小程式,做採集的必看
阿新 • • 發佈:2018-12-30
<?php //呼叫方法 :http://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 'utf8'"); 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['id']<=8&&$_GET['id']){ $id=$_GET['id']; $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('GB2312', 'UTF-8', addslashes($arr[2][$k])); // echo $title; // echo $url; $str = iconv("GB2312","UTF-8", file_get_contents($url)); $author = preg_substr("/作者:/", "/<\//", $str); // 通過正則提取作者 $content = str_substr('<div class="wltg">', '</div>', $str); //通過字串提取標題 $sql = "INSERT INTO `caiji` (`title`, `url` , `content`, `author` ) VALUES ('$title', '$url' , '$content' , '$author')"; // echo $sql."<br/>"; mysql_query($sql); } $id++; echo "正在採集URL資料列表$id...請稍後..."; echo "<script>window.location='2.php?id=$id'</script>"; } else{ echo "採集資料結束。"; } ?>
其中 title 設定唯一,可以防止重複採集,很好的的一個php採集小程式,作者:風雲無忌