<?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 '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('<p class="wltg">', '</p>', $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采集小程序,作者:風云無忌
以上就是php實現的采集小程序,做采集的必看的詳細內容,更多請關注 其它相關文章!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答