首頁 > 後端開發 > php教程 > 程式 PHP 擷取程式原理分析篇

程式 PHP 擷取程式原理分析篇

WBOY
發布: 2016-07-29 08:42:04
原創
907 人瀏覽過

苦想了幾天,終於弄清楚了裡面的道理。在這裡寫出來,請高手指正。
採集程式的思路很簡單,無非就是先打一個頁面,一般都是列表頁,取得裡面全部鏈接的地址,然後打開逐條鏈接,尋找我們感興趣的東西,如果找到,就把它入庫或別的處理。下面以一個很簡單的例子來說說。
先確定一個採集頁,一般就是列表面了。這裡目標是:http://www.jb51.net/article/11/index.htm。這是一個清單頁,我們的目的就是要收集這個清單頁上全部的文章。
有清單頁了,第一步先打開它,把它的內容納入到我們的程式中。一般用fopen或是file_get_contents這兩個函數,我們這裡用fopen作範例。怎麼打開它?很簡單:$source=fopen("http://www.jb51.net/article/11/index.htm",'r');實際上已經把內容納入到我們的程式中來了。注意得到的$source是一個資源,不是可處理的文本,所以再用函數fread將內容讀到一個變數中,這次就是真正的可編輯的文本了。例:
$c//www.jb51.net/article/7/all/545.1.htm)]。透過查看原始程式碼,我們可以看到裡面文章的連結位址全是這個樣子

  將資料庫連接程式碼封裝在函數裡,在需要讀取時呼叫..
我們就可以寫正規表示式了。 $count=preg_match_all("/
(.+?)/",$content,$art_list);
其中陣列$art_list[1][$s]裡麵包含的就是某個文章的連結位址。而$art_list[2][$s]包含的就是某一文章的標題。到了這一步就可以算是成功了一半了。
接著用for循環依次打每個鏈接,然後像取得標題一樣的方法取得內容即可。以上這些跟我在網路上找的教學都差不多,但是到了這個for循環網上的教程可就差勁,還沒找到一篇可以說清這個事的文章,剛開始我是用js來幫助循環的,還是用實例說吧,剛開始我是這樣做的:
for($i=0;$i中間就是採集內容的部分了,省略了
採集了一頁,肯定要採集再一頁啊
可是再用fopen開啟連結時就不行了。的數字可以幫助我們實現循環,採集多個頁面。沒什麼大不了的,可是對我等菜鳥來說,實在是很有幫助。
以上就介紹了程式 PHP 採集程式原理分析篇,包括了程式方面的內容,希望對PHP教學有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板