新聞中心
PHP經(jīng)過長時(shí)間的發(fā)展,很多用戶都很了解PHP了,我們現(xiàn)在可以利用PHP函數(shù)實(shí)現(xiàn)采集器程序。何為采集器,通常又叫小偷程序,主要是用來抓取別人網(wǎng)頁內(nèi)容的。關(guān)于采集器的制作,其實(shí)并不難,就是遠(yuǎn)程打開要采集的網(wǎng)頁,然后用正則表達(dá)式將需要的內(nèi)容匹配出來,只要稍微有點(diǎn)正則表達(dá)式的基礎(chǔ),都能做出自己的采集器來的。

為加查等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及加查網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、加查網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
#T#前幾天做了個(gè)小說連載的程序,因?yàn)榕赂侣闊?,順帶就寫了個(gè)采集器,采集八路中文網(wǎng)的,功能比較簡單,不能自定義規(guī)則,不過大概思路都在里面了,自定義規(guī)則可以自己來擴(kuò)展。用php來做采集器主要用到兩個(gè)PHP函數(shù):file_get_contents()和preg_match_all(),前一個(gè)是遠(yuǎn)程讀取網(wǎng)頁內(nèi)容的,不過只在php5以上的版本才能用,后一個(gè)是正則函數(shù),用來提取需要的內(nèi)容的。面就一步一步來講功能實(shí)現(xiàn)。因?yàn)槭遣杉≌f,所以首先要將書名、作者、類型這三個(gè)提取出來,別的信息可根據(jù)需要提取。
這樣還不夠,還需要一個(gè)切取PHP函數(shù):
- function cut($string,$start,$end){
- $message = explode($start,$string);
- $message = explode($end,$message[1]); return $message[0];}其中$string為要被切取的內(nèi)容,$start為開始的地方,$end為結(jié)束的地方。取出分類號(hào):
- $start = "Html/Book/";
- $end
- = "List.shtm";
- $typeid = cut($typeid[0][0],$start,$end);
- $typeid = explode("/",$typeid);[/php]
- 這樣,$typeid[0]就是我們要找的分類號(hào)了。方法如下:
- $ustart = "\"";
- $uend
- = "\"";
- //t表示title的縮寫
- $tstart = ">";
- $tend
- = "<";
- //取路徑,例如:123.shtm,2342.shtm,233.shtm
- preg_match_all("/\"[0-9]{1,}\.(shtm)\"/is",$chapterurl,$url);
- //取標(biāo)題,例如:***章 九世善人
- preg_match_all("/ href=\"[0-9]{1,}\.shtm\"(.*?)\<\/a>/is",$file,$title);
- $countcountcount = count($url[0]);
- for($i=0;$i<=$count;$i++)
- {
- $u = cut($url[0][$i],$ustart,$uend);
- $t = cut($title[0][$i],$tstart,$tend);
- $array[$u] = $t;
- }
$array數(shù)組就是所有的章節(jié)地址了,到這里,采集器就完成一半了,剩下的就是循環(huán)打開每個(gè)章節(jié)地址,讀取,然后將內(nèi)容匹配出來。這個(gè)比較簡單,這里就不詳細(xì)敘述了。好了,今天就先寫到這吧,***次寫這么長的文章,語言組織方面難免有問題,還請(qǐng)大家多包涵!
網(wǎng)站標(biāo)題:巧妙運(yùn)用PHP函數(shù)實(shí)現(xiàn)采集器
本文網(wǎng)址:http://m.fisionsoft.com.cn/article/cdispig.html


咨詢
建站咨詢
