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 ......插入數據庫部分
上面的代碼就是所有采集要用到的代碼了,當然大家也可以用fope來作,我個人喜歡用file_get_contents。
下面在共享一下我的下載圖片flash到本地的辦法,太簡單了兩行代碼
PHP代碼:
if(@copy($url,$newurl)){ echo ok }
在論壇上以前還發過一個圖片下載函數這會也放上來給大家
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.入庫前一定要作好判斷,檢查內容的合法,過濾不必要的字符串。
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
關于PHP字典樹的定義與實現方法
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答