PHP采集程序大全

在論壇好久瞭沒有怎麼正式的發表過東西,今天給大傢共享一下我的采集代碼!


思路:


  采集程序的思路很簡單大體可以分為以下幾個步驟:
    1.獲取遠程文件源代碼(file_get_contents或用fopen).
       2.分析代碼得到自己想要的內容(這裡用正規匹配,一般是得到分頁)。
  3.跟根得到的內容進行下載入庫等操作。


在這裡第二步有可能要重復的操作好幾次,比如說要先分析一下分頁地址,在分析一下內頁的內容才能取得我們想要的東西。


代碼:


記的以前發部過部分的代碼今天我在這裡在簡單的發部一下
復制PHP內容到剪貼板
PHP代碼:
@$nl=file_get_contents($rs[url]);//抓取遠程內容
preg_match_all(“/var url = “gameswf/(.*?).swf”;/is”,$nl,$connect);//進行正規匹配取得自己要的內容
mysql_query(“insert ……插入數據庫部分”);



上面的代碼就是所有采集要用到的代碼瞭,當然大傢也可以用fope來作,我個人喜歡用file_get_contents。


下面在共享一下我的下載圖片flash到本地的辦法,太簡單瞭兩行代碼
復制PHP內容到剪貼板
PHP代碼:
if(@copy($url,$newurl)){
echo ok;
}



在論壇上以前還發過一個圖片下載函數這會也放上來給大傢
復制PHP內容到剪貼板
PHP代碼:
/*本存圖片函數*/
function getimg($url,$filename){
        /*判斷圖片的url是否為空,如果為空停止函數*/
        if($url==””){
                return false;
        }
        /*取得圖片的擴展名,存入變量$ext中*/
        $ext=strrchr($url,”.”);
        /*判斷是否是合法的圖片文件*/
    if($ext!=”.gif” && $ext!=”.jpg”){
                return false;
        }
        /*讀取圖片*/
        $img=file_get_contents($url);
        /*打開指定的文件*/
        $fp=@fopen($filename.$ext,”a”);
        /*寫入圖片到指點的文件*/
        fwrite($fp,$img);
        /*關閉文件*/
        fclose($fp);
        /*返回圖片的新文件名*/
        return $filename.$ext;
}



共享一下個人的采集心德:


1.不采那些作防盜鏈瞭的站,其實可以作假來路但是這樣的站采集成本太高


2.采集盡量快的站,最好在本地進行采集


3.采集時有很多時候可以先把一部分數據存入數據庫,等以後進行下一步的處理。


4.采集的時候一定要作好出錯處理,我一般都是如果采集三次沒有成功就跳過。以前經常就因為一條內容不能采就卡在那裡一直的采。


5.入庫前一定要作好判斷,檢查內容的合法,過濾不必要的字符串。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *