首頁  >  文章  >  後端開發  >  關於PHP程式收集的程式碼

關於PHP程式收集的程式碼

不言
不言原創
2018-06-19 11:26:141144瀏覽

今天就來跟大家分享一下我的採集程式碼!想法: 採集程式的思路很簡單大體可以分為以下幾個步驟

1.取得遠端檔案原始碼(file_get_contents或用fopen).
2.分析程式碼得到自己想要的內容(這裡用正規匹配,一般是得到分頁)。
3.跟根得到的內容進行下載入庫等操作。

  在這裡第二步有可能要重複的操作好幾次,比如說要先分析一下分頁位址,在分析一下內頁的內容才能取得我們想要的東西。
  程式碼:
  記的以前發部過部分的程式碼今天我在這裡在簡單的發部一下
  PHP程式碼:

#
@$nl=file_get_contents($rs['url']);//抓取远程内容 
preg_match_all("/var url = "gameswf/(.*?).swf";/is",$nl,$connect);//进行正规匹配取得自己要的内容 
mysql_query("insert ......插入数据库部分");

  上面的程式碼就是所有採集要程式碼:

#

if(@copy($url,$newurl)){ 
echo 'ok'; 
}

  上面的程式碼就是所有採集要程式碼用到的程式碼了,當然大家也可以用fope來做,我個人喜歡用file_get_contents。

  下面在共享一下我的下載圖片flash到本地的辦法,太簡單了兩行代碼
  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; 
}

  在論壇上以前還發過一個圖片下載函數這會也放上來給大家
  PHP代碼: 
rrreee
  共享一下個人的採集心德:
  1.不採那些作防盜鏈了的站,其實可以作假來路但是這樣的站採集成本太高
  2.採集盡量快的站,最好在本地進行採集

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

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

關於PHP字典樹的定義與實作方法

##########

以上是關於PHP程式收集的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn