偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

巧妙運(yùn)用PHP函數(shù)實(shí)現(xiàn)采集器

開(kāi)發(fā) 后端
文章這里巧妙利用PHP函數(shù)中的file_get_contents()和preg_match_all()實(shí)現(xiàn)采集器,希望對(duì)大家有幫助。

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

#T#前幾天做了個(gè)小說(shuō)連載的程序,因?yàn)榕赂侣闊?,順帶就?xiě)了個(gè)采集器,采集八路中文網(wǎng)的,功能比較簡(jiǎn)單,不能自定義規(guī)則,不過(guò)大概思路都在里面了,自定義規(guī)則可以自己來(lái)擴(kuò)展。用php來(lái)做采集器主要用到兩個(gè)PHP函數(shù):file_get_contents()和preg_match_all(),前一個(gè)是遠(yuǎn)程讀取網(wǎng)頁(yè)內(nèi)容的,不過(guò)只在php5以上的版本才能用,后一個(gè)是正則函數(shù),用來(lái)提取需要的內(nèi)容的。面就一步一步來(lái)講功能實(shí)現(xiàn)。因?yàn)槭遣杉≌f(shuō),所以首先要將書(shū)名、作者、類(lèi)型這三個(gè)提取出來(lái),別的信息可根據(jù)需要提取。

這樣還不夠,還需要一個(gè)切取PHP函數(shù):

  1. function cut($string,$start,$end){     
  2. $message = explode($start,$string);     
  3. $message = explode($end,$message[1]); return $message[0];}其中$string為要被切取的內(nèi)容,$start為開(kāi)始的地方,$end為結(jié)束的地方。取出分類(lèi)號(hào):     
  4.  
  5. $start = "Html/Book/";     
  6. $end    
  7. "List.shtm";     
  8. $typeid = cut($typeid[0][0],$start,$end);     
  9. $typeid = explode("/",$typeid);[/php]     
  10.  
  11. 這樣,$typeid[0]就是我們要找的分類(lèi)號(hào)了。方法如下:     
  12.  
  13. $ustart = "\"";     
  14. $uend    
  15. "\"";     
  16. //t表示title的縮寫(xiě)     
  17. $tstart = ">";     
  18. $tend    
  19. "<";     
  20. //取路徑,例如:123.shtm,2342.shtm,233.shtm     
  21. preg_match_all("/\"[0-9]{1,}\.(shtm)\"/is",$chapterurl,$url);     
  22. //取標(biāo)題,例如:***章 九世善人     
  23. preg_match_all("/<a href=\"[0-9]{1,}\.shtm\"(.*?)\<\/a>/is",$file,$title);     
  24. $countcountcount = count($url[0]);     
  25. for($i=0;$i<=$count;$i++)     
  26. {     
  27. $u = cut($url[0][$i],$ustart,$uend);     
  28. $t = cut($title[0][$i],$tstart,$tend);     
  29. $array[$u] = $t;     
  30. }    

$array數(shù)組就是所有的章節(jié)地址了,到這里,采集器就完成一半了,剩下的就是循環(huán)打開(kāi)每個(gè)章節(jié)地址,讀取,然后將內(nèi)容匹配出來(lái)。這個(gè)比較簡(jiǎn)單,這里就不詳細(xì)敘述了。好了,今天就先寫(xiě)到這吧,***次寫(xiě)這么長(zhǎng)的文章,語(yǔ)言組織方面難免有問(wèn)題,還請(qǐng)大家多包涵!

責(zé)任編輯:田樹(shù) 來(lái)源: it168
相關(guān)推薦

2009-12-10 10:18:05

PHP讀取文件

2009-11-25 14:36:39

PHP函數(shù)usort(

2011-03-17 17:30:06

NginxiptablesDDOS

2009-12-02 16:38:26

PHP發(fā)送郵件函數(shù)

2009-12-03 20:15:02

PHP rmdir()

2009-11-24 11:00:05

PHP函數(shù)Date()

2009-12-08 16:19:21

PHP函數(shù)pack

2009-12-04 09:41:25

PHP函數(shù)flush(

2009-12-07 11:31:51

PHP分類(lèi)列表

2021-12-09 15:30:12

采集器開(kāi)源-iLogtail

2009-11-13 11:18:22

ADO.NET修改數(shù)據(jù)

2009-11-24 18:08:39

PHP函數(shù)array_

2009-12-10 15:33:02

PHP函數(shù)fgets

2009-12-04 18:05:05

PHP stristr

2009-11-27 16:35:01

php函數(shù)mkdir

2009-12-01 13:29:04

PHP ini_set

2011-02-18 16:07:46

微軟 SQL Serv

2012-01-04 11:09:10

Java采集器

2019-01-24 15:30:09

TensorFlow機(jī)器學(xué)習(xí)

2010-08-31 13:56:38

PHP5多線程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)