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