基於PHP采集數據入庫程序(一)


前幾天有一朋友要我幫做一個采集新聞信息的程序,抽了點時間寫了個PHP版本的,隨筆記錄下。

說到采集,無非就是遠程獲取信息->提取所需內容->分類存儲->讀取->展示

也算是簡單"小偷程序"的加強版吧

下面是對應核心代碼(別拿去做壞事哦^_^)

 

所要采集的內容是某游戲網站上的公告,如下圖:

可先利用file_get_contents和簡單正則獲取基本頁面信息

整理下基本信息,采集入庫:

<?php
    include_once("conn.php");


     if($_GET['id']<=8&&$_GET['id']){
         $id=$_GET['id'];
        $conn=file_get_contents("http://www.93moli.com/news_list_4_$id.html");//獲取頁面內容


    
    $pattern="/<li><a title=\"(.*)\" target=\"_blank\" href=\"(.*)\">/iUs";//正則

    preg_match_all($pattern, $conn, $arr);//匹配內容到arr數組

    //print_r($arr);die;
    
    foreach ($arr[1] as $key => $value) {//二維數組[2]對應id和[1]剛好一樣,利用起key
        $url="http://www.93moli.com/".$arr[2][$key];
        $sql="insert into list(title,url) value ('$value', '$url')";
        mysql_query($sql);

        //echo "<a href='content.php?url=http://www.93moli.com/$url'>$value</a>"."<br/>";    
    }
     $id++;
     echo "正在采集URL數據列表$id...請稍后...";
     echo "<script>window.location='list.php?id=$id'</script>";

 }else{
     echo "采集數據結束。";
 }

?>

 

conn.php是數據庫連接文件

list.php是本頁面

由於要采集的數據是分頁顯示的,且頁面地址是規律遞增,所以我用了js跳轉代碼,利用id傳值控制采集的頁數,也避免了for循環數目過大。

 

輕輕松松數據入庫,下篇博客寫關於具體url采集信息的過程。

http://www.cnblogs.com/lichenwei/p/3873281.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM