国产999精品久久久久久-国产欧美综合一区二区三区-国产精品无码专区-亚洲色精品aⅴ一区区三区

 
售前咨詢QQ:QQ412395521
業務合作QQ:QQ627174919
位置:首頁 > 知新 > 帝國CMS > 采集使用

寫給新手——采集技巧

時間:2006-11-15 10:11:19  來源:帝國論壇  作者:phamlily
  發現不少人在采集方面有些或多或少的問題。今天來說一下采集技巧。

  說之前先提一下:如果想要取得他人的幫助,光說一下“XX網頁我采不到”,或是“XX網頁的XX正則我怎么設不對呀”,一般比較少會有人來幫你。因為想要幫你,幫你者就必須自己先寫一個完整的那個網站,或是至少那個列表頁的采集正則。在你是問某一個小問題,在別人就是大動工的寫一整套正則了——最差最差,也是要打開那個網頁,一點點地找正則所在……別人不是該你的,有沒有義務是一回事,有沒有精力又是另一回事。就算勤勞如蓮,大多數時間也是懶得理會,爬爬走過的

  所以,如果想取得他人的幫助,最好是哪個正則有問題,就把自己寫的那個部分正則也貼出來(如果能貼全套的則更好,別人可以整套地幫你測試),無論是尋找癥結所在,還是節省他人時間上,都是很有幫助的。

  另外,也不要把想取得幫助的網頁的代碼整個的復制粘貼上來,貼個網頁地址就可以了,你貼一大片代碼,進來看的人一下就被嚇出去了……

  下面來說一下采集技巧:

個人經驗:

  1.采集的正則能寫得越簡單越好。
  當然,復雜的話針對性強,比較不容易采到不要的內容,但能在保證不采到不要的內容的前提下,越簡單,一個正則對該網頁的通用性就越強。比如說一樣是采<a href="鏈接">這個鏈接,個人覺得,如果你已經設定了鏈接區域,區域內不會有別的鏈接的話,與其把鏈接正則寫成<a href="[!--newsurl--]">,還不如寫成href="[!--newsurl--]"。這樣,萬一有幾頁的鏈接對方寫成了<A href="鏈接">,也不會影響你的采集效果。

  當然,對方不會莫名其妙地改變自己的模板,上面只是舉個例子。而我是懶人,懶人的目標就是用最少的正則采到最多的新聞。
  正則寫得簡單,還是對自己采集水平的一個鍛煉。越簡單,找正則規律的要求就越高,多鍛煉自己,采集時才比較容易一次就采到自己想要的東西。


  2.在正則內盡管減少空格和回車的使用。
  這樣說可能不是很明白。空格誰不用?注意:這里說的不是一個或兩個空格,而是大片相連的空格。
  空格的存在當然是必要的,但寫采集正則時出現大片相連的空格甚至包含大量回車時只能說明兩個問題:一,要么是對方的網頁太難采集,讓你不得不使用大片相連空格及回車來區分采集區域,否則找不到別的辦法了;二,要么是你太懶,懶得仔細地找正則,看到什么就是什么,大片的復制下來再說,反正復制得越多越不容易和別的重復。
  相信大多數人都是第二種。
  但要注意,當你大量復制對方網頁代碼當成正則時,你也把自己推入了一種很可能采集失敗,或是某幾頁能成功,某幾頁以失敗告終的險境。
  某幾頁成功、某幾頁失敗的原因,同第1條所述,對方有可能偶爾在頁面內改變正則。這種情況雖然不大遇到,但要充分考慮到。
  大多數復制大量代碼當正則的同志,是處于一種不成功便成仁的境地的。因為空格還算好,不會出太多問題;但回車的問題很嚴重。我采集時,發現,往往有些網頁在正則內使用了回車,就會采集失敗——完全不認采集區域。回車是個很好的辨識標志,但——具體原因還不明了——有時它會導致整個采集過程的失敗。


  3.分頁區域正則。
  很多人能很好地設定整個頁面的正則,但往往失敗在分頁正則上(我到現在都不是每個分頁都能采得到)。這里提幾個技巧。
  第一,盡量不要把分頁區域包含在新聞正文正則內。這一點……如果有人看菜鳥手冊的話……嚴正聲明,那里面是寫錯的,當時對采集不是很了解,所以寫錯了。如果把分頁區域包含在新聞正文正則內,會導致采到的新聞有兩行第1頁、第2頁等的顯示——因為把對方的分頁也當正文采來了。
  第二,要注意“上下頁導航”和“全部列出式”。現在大多數網頁是兩種模式同時存在的。所以在寫正則時,如果你是使用某一種模式,要注意過濾掉另一種模式的鏈接,不然會導致采到過多的分頁,一般是會出現兩個第2頁。
  第三,當分頁采集屢屢失敗,又實在查不出錯在哪里時,請看一下第2、3、4……頁的新聞正文的正則,是否與你寫的新聞正則一致。有的網頁,后面幾頁用到的代碼和第一頁會不一樣,往往會比第一頁少掉一些,這時,如果你用的新聞正文正則正好用到了后面幾頁沒有的代碼,那你分頁正則即使寫得完全沒有問題,由于后幾頁的正文它采集不到,顯示出來的就是沒有采到分頁(T_T 某蓮曾在這個問題上給它耗掉整整一個晚上,血淚史啊……)


  4.采集中盡量減少用*,或者,至少有選擇性地用*。
  比如<a href="鏈接">OOXXOOXX</a>這個,不少人喜歡用<a href="[!--newsurl--]">*</a>來采集。但是試問,這個*有什么意義嗎?列位哪位有見過,有哪個<a>.....</a>之間是沒有東西的嗎?所以這個*放在這里,有放沒放是一個樣的。除非是這個鏈接正則太復雜了,一定要靠*之后的代碼繼續區分判斷,以過濾掉不要的,這時才需要用*。
  用*有一個弊端——在你對正則看得不是很清楚,不太負責任地加*的時候,很可能不能完全采集到你想采集的內容,或是一不小心把要采集的內容去掉了。所以能不用*盡量不要用*。


  暫時能想到這些,以后想到繼續補充。
 
旗下其它產品:【帝國備份王】    【EBMA系統】    【帝國下載系統
Powered by EmpireCMS
版權所有 ©2002-2024 EmpireSoft Inc.