欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

PHP實例教程:PHP采集程序的思路

admin
2012年4月4日 2:23 本文熱度 2513




文章簡介:由于需要,要寫一個簡單的PHP采集程序,照例是到網(wǎng)上找了一堆教程,然后照貓畫虎,可是發(fā)現(xiàn)網(wǎng)上的教程全是似是而非,沒有一個真正能用的。苦想了幾天,終于弄明白了里面的道理。在這里寫出來,請高手指正。

由于需要,要寫一個簡單的PHP采集程序,照例是到網(wǎng)上找了一堆教程,然后照貓畫虎,可是發(fā)現(xiàn)網(wǎng)上的教程全是似是而非,沒有一個真正能用的。苦想了幾天,終于弄明白了里面的道理。在這里寫出來,請高手指正。


采集程序的思路很簡單,無非就是先打一個頁面,一般都是列表頁,取得里面全部鏈接的地址,然后打開逐條鏈接,尋找我們感興趣的東西,如果找到,就把它入庫或別的處理。下面以一個很簡單的例子來說說。


首先確定一個采集頁,一般就是列表面了。這里目標(biāo)是:http://www.php100.com/article/11/index.htm。這是一個列表頁,我們的目的就是采集這個列表頁上全部的文章。有列表頁了,第一步先打開它,把它的內(nèi)容納入到我們的程序中來。一般用fopen或是file_get_contents這兩個函數(shù),我們這里用fopen作例子。怎么打開它呢?很簡單:$source=fopen("[url=http://www.php100.com/article/11/index.htm",]http://www.php100.com/article/11/index.htm",'r'[/url]);實際上已經(jīng)把內(nèi)容納入到我們的程序中來了。注意得到的$source是一個資源,不是可處理的文本,所以再用函數(shù)fread將內(nèi)容讀到一個變量中,這次就是真正的可編輯的文本了。例子:


$content=fread($source,99999);后面的數(shù)字表示字節(jié)數(shù),填個大的就行。你用file_put_contents將$content寫入到一個文本文件,可以看出里面的內(nèi)容其實就是網(wǎng)頁的源碼。得到了網(wǎng)頁的源碼,我們就要分析里面的文章鏈接地址,這里要用到正則表達(dá)式了,[推薦正則表達(dá)式教程(http://www.php100.com/article/7/all/545.1.htm)]。通過查看源代碼,我們可以看到里面文章的鏈接地址全是這個樣子<div class="in_arttitle"><a >  將數(shù)據(jù)庫連接代碼封裝在函數(shù)里,在需要讀取時調(diào)用..</a>


我們就可以寫正則表達(dá)式了。$count=preg_match_all("/<div class="in_arttitle"><ashref="(.+?)">(.+?)</a>/",$content,$art_list);


其中數(shù)組$art_list[1][$s]里面包含的就是某個文章的鏈接地址。而$art_list[2][$s]包含的就是某一文章的標(biāo)題。到了這一步就可以算成功了一半了。


接著用for循環(huán)依次打每個鏈接,然后像取得標(biāo)題一樣的方法取得內(nèi)容即可。以上這些和我在網(wǎng)上找的教程都差不多,但是到了這個for循環(huán)網(wǎng)上的教程可就差勁,還沒找到一篇可以說清這個事的文章,剛開始我是用js來幫助循環(huán)的,還是用實例說吧,剛開始我是這樣做的:


for($i=0;$i<20;4i++ {


中間就是采集內(nèi)容的部分了,省略了


采集了一頁,肯定要采集再一頁啊


可是再用fopen打開鏈接時就不行了。請求失敗什么的,用js也不行,最后才知道要用這句echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=aa.php?id=1'>";其中aa.php就是我們的程序的文件名, id后面的數(shù)字就可以幫助我們實現(xiàn)循環(huán),采集多個頁面。這就是能真正循環(huán)起來的關(guān)鍵


}


腦子有點難受,寫得有點亂,將就著看吧,在高手看來這可能沒什么大不了的,可是對于我等菜鳥來說,實在是很有幫助。


該文章在 2012/4/4 2:23:35 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved