WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機
ECMS:高手提供的教程
導(dǎo)航: 上一級 | 帝國CMS | 首頁 | DedeCMS | Drupal | PHPCMS | PHP168 | Xoops | Joomla | PowerEasy | SupeSite
采集技巧(作者:藥蓮)
發(fā)現(xiàn)不少人在采集方面有些或多或少的問題。今天來說一下采集技巧。
說之前先提一下:如果想要取得他人的幫助,光說一下“XX網(wǎng)頁我采不到”,或是“XX網(wǎng)頁的XX正則我怎么設(shè)不對呀”,一般比較少會有人來幫你。因為想要幫你,幫你者就必須自己先寫一個完整的那個網(wǎng)站,或是至少那個列表頁的采集正則。在你是問某一個小問題,在別人就是大動工的寫一整套正則了——最差最差,也是要打開那個網(wǎng)頁,一點點地找正則所在……別人不是該你的,有沒有義務(wù)是一回事,有沒有精力又是另一回事。就算勤勞如蓮,大多數(shù)時間也是懶得理會,爬爬走過的
所以,如果想取得他人的幫助,最好是哪個正則有問題,就把自己寫的那個部分正則也貼出來(如果能貼全套的則更好,別人可以整套地幫你測試),無論是尋找癥結(jié)所在,還是節(jié)省他人時間上,都是很有幫助的。
另外,也不要把想取得幫助的網(wǎng)頁的代碼整個的復(fù)制粘貼上來,貼個網(wǎng)頁地址就可以了,你貼一大片代碼,進(jìn)來看的人一下就被嚇出去了……
下面來說一下采集技巧:(個人經(jīng)驗)
- 采集的正則能寫得越簡單越好。
當(dāng)然,復(fù)雜的話針對性強,比較不容易采到不要的內(nèi)容,但能在保證不采到不要的內(nèi)容的前提下,越簡單,一個正則對該網(wǎng)頁的通用性就越強。比如說一樣是采<a href="鏈接">這個鏈接,個人覺得,如果你已經(jīng)設(shè)定了鏈接區(qū)域,區(qū)域內(nèi)不會有別的鏈接的話,與其把鏈接正則寫成<a href="[!--newsurl--]">,還不如寫成href="[!--newsurl--]"。這樣,萬一有幾頁的鏈接對方寫成了<A href="鏈接">,也不會影響你的采集效果。
當(dāng)然,對方不會莫名其妙地改變自己的模板,上面只是舉個例子。而我是懶人,懶人的目標(biāo)就是用最少的正則采到最多的新聞。
正則寫得簡單,還是對自己采集水平的一個鍛煉。越簡單,找正則規(guī)律的要求就越高,多鍛煉自己,采集時才比較容易一次就采到自己想要的東西。 - 在正則內(nèi)盡管減少空格和回車的使用。
這樣說可能不是很明白??崭裾l不用?注意:這里說的不是一個或兩個空格,而是大片相連的空格。
空格的存在當(dāng)然是必要的,但寫采集正則時出現(xiàn)大片相連的空格甚至包含大量回車時只能說明兩個問題:一,要么是對方的網(wǎng)頁太難采集,讓你不得不使用大片相連空格及回車來區(qū)分采集區(qū)域,否則找不到別的辦法了;二,要么是你太懶,懶得仔細(xì)地找正則,看到什么就是什么,大片的復(fù)制下來再說,反正復(fù)制得越多越不容易和別的重復(fù)。
相信大多數(shù)人都是第二種。
但要注意,當(dāng)你大量復(fù)制對方網(wǎng)頁代碼當(dāng)成正則時,你也把自己推入了一種很可能采集失敗,或是某幾頁能成功,某幾頁以失敗告終的險境。某幾頁成功、某幾頁失敗的原因,同第1條所述,對方有可能偶爾在頁面內(nèi)改變正則。這種情況雖然不大遇到,但要充分考慮到。
大多數(shù)復(fù)制大量代碼當(dāng)正則的同志,是處于一種不成功便成仁的境地的。因為空格還算好,不會出太多問題;但回車的問題很嚴(yán)重。我采集時,發(fā)現(xiàn),往往有些網(wǎng)頁在正則內(nèi)使用了回車,就會采集失敗——完全不認(rèn)采集區(qū)域?;剀囀莻€很好的辨識標(biāo)志,但——具體原因還不明了——有時它會導(dǎo)致整個采集過程的失敗。 - 分頁區(qū)域正則。
很多人能很好地設(shè)定整個頁面的正則,但往往失敗在分頁正則上(我到現(xiàn)在都不是每個分頁都能采得到)。這里提幾個技巧。
第一,盡量不要把分頁區(qū)域包含在新聞?wù)恼齽t內(nèi)。這一點……如果有人看菜鳥手冊的話……嚴(yán)正聲明,那里面是寫錯的,當(dāng)時對采集不是很了解,所以寫錯了。如果把分頁區(qū)域包含在新聞?wù)恼齽t內(nèi),會導(dǎo)致采到的新聞有兩行第1頁、第2頁等的顯示——因為把對方的分頁也當(dāng)正文采來了。
第二,要注意“上下頁導(dǎo)航”和“全部列出式”?,F(xiàn)在大多數(shù)網(wǎng)頁是兩種模式同時存在的。所以在寫正則時,如果你是使用某一種模式,要注意過濾掉另一種模式的鏈接,不然會導(dǎo)致采到過多的分頁,一般是會出現(xiàn)兩個第2頁。
第三,當(dāng)分頁采集屢屢失敗,又實在查不出錯在哪里時,請看一下第2、3、4……頁的新聞?wù)牡恼齽t,是否與你寫的新聞?wù)齽t一致。有的網(wǎng)頁,后面幾頁用到的代碼和第一頁會不一樣,往往會比第一頁少掉一些,這時,如果你用的新聞?wù)恼齽t正好用到了后面幾頁沒有的代碼,那你分頁正則即使寫得完全沒有問題,由于后幾頁的正文它采集不到,顯示出來的就是沒有采到分頁(T_T 某蓮曾在這個問題上給它耗掉整整一個晚上,血淚史啊……) - 采集中盡量減少用*,或者,至少有選擇性地用*。
比如<a href="鏈接">OOXXOOXX</a>這個,不少人喜歡用<a href="[!--newsurl--]">*</a>來采集。但是試問,這個*有什么意義嗎?列位哪位有見過,有哪個<a>.....</a>之間是沒有東西的嗎?所以這個*放在這里,有放沒放是一個樣的。除非是這個鏈接正則太復(fù)雜了,一定要靠*之后的代碼繼續(xù)區(qū)分判斷,以過濾掉不要的,這時才需要用*。
用*有一個弊端——在你對正則看得不是很清楚,不太負(fù)責(zé)任地加*的時候,很可能不能完全采集到你想采集的內(nèi)容,或是一不小心把要采集的內(nèi)容去掉了。所以能不用*盡量不要用*。
- 小林教你如何采集(作者:小林)
感謝小林提供的教程.
以采集新浪體育的冠軍聯(lián)賽為例,如下圖:
藥蓮教你如何采集[小林教程解析版]
感謝藥蓮(phamlily)提供的教程.
是在小林教程基礎(chǔ)上進(jìn)行解析,更加詳細(xì):
第一部分
第二部分
第三部分
第四部分
第五部分
相關(guān)視頻下載
帝國采集演示視頻:點擊下載