下面的內容採集系統就是從這個想法開發而來的,這個採集系統由兩個部分組成:
1. 編輯人員所使用的採集規則設定器和對採集結果進行審核、微調和發布所使用的web站點。
2. 部署在伺服器上的定時採集器和定時傳送器。
首先由編輯人員通過乙個採集規則設定器(nicecollectoer.exe)設定要採集的站點,再等採集完成後,編輯人員再通過乙個web站點(pickweb)對採集的結果進行審核、微調和優化然後發布到自己的**上。編輯人員所需要做的是採集規則的設定,和對採集結果的優化,其它部分的工作都由機器完成。
nicepicker 是html 分析器,用來抽取url,nicecollector 和hostcollector 都使用nicepicker來分析html, nicecollectoer 就是採集規則設定器,乙個目標**只用設定一次:
使用起來和最早的火車頭採集器類似,這裡使用來做目標採集站點, 設定採集精華區的文章,採集規則非常簡單:當編輯人員設定好採集規則後,這些規則會儲存到nicecollector.exe同目錄下的 setting.mdb中。一般當採集規則設定好以後,基本上不用再變動了,只在目標**的html dom結構發生變化時,需要再次微調一下採集規則。nicecollector同時用於新目標採集站點的設定和新增操作。
等編輯人員完成採集規則的設定後,把setting.mdb放到 hostcollector.exe下, hostcollector 會根據setting.mdb的設定進行真正的採集,並把採集的結果存入資料庫。
到這一步就完成了內容的採集工作,編輯人員可以開啟pickweb,對採集結果進行微調和優化,然後審核通過併發送到自己的**上:
真正傳送採集結果到自己**的工作不是由pickweb完成的,編輯人員完成內容審核後,posttoforum.exe 會讀取資料庫並傳送這條通過審核的採集結果到自己的**上,在自己的**上當然需要乙個. ashx或者某種其它方式來接收採集的結果,不建議posttoformu.exe直接去操作自己**的資料庫,最好通過自己**上的某個api,來接收採集結果。
nicecollectoer, hostcollector, pickweb, posttoforum, 這幾個程式聯合工作,基本上已經完成了採集和傳送的工作,hostcollector, pickweb, posttoforum 是部署在伺服器上的,hostcollector需要被週期性的呼叫,來採集目標**所產生的新內容,hostrunnerservice.exe 是乙個windows service,用來週期性呼叫hostcollector,使用管理員身份在控制台下執行 installutil / i hostrunnerservice.exe 就可以安裝這個windows service了:
hostrunnerservice 的配置也很簡單:
在runtime.txt 中設定每天定時採集幾次:
當新內容被採集後,編輯人員需要定期的登入pickweb,來優化、微調、並審核新內容,也可以設定預設審核通過。同樣posttoforum 也需要被週期性的呼叫,用來傳送審核通過的新內容,callsenderservice.exe 與 hostrunnerservice.exe類似,也是乙個windows service,用來定期的呼叫posttoformu.exe。
到這裡整個系統基本上完成了,除此之外還有兩個小東東: selfchecker.exe 和healthchecker.exe。 selfcheck.exe 是用來檢查setting.mdb中設定的規則是否是乙個有效的規則,例如檢查採集規則是否設定了內容採集項。healthchecker.exe用來收集hostcollector.exe 和 posttoforum.exe 所產生的log,然後將log傳送給指定的系統維護人員。
這個內容採集系統還有很多地方需要改進和優化,現在的狀態只能說是個prototype吧,例如 nicepick 需要進一步抽象和重構,給出更多的inte***ce,把分析html的各個環節外掛程式化,在各個分析步驟上,可以讓使用者載入自己的分析器。 在nicecollector上,需要更多更全面的採集規則設定。在pickweb上可以加入一些預設的seo優化規則,如批量seo優化title的內容,等其它方面吧。
08_453455_if8l_nroutput.rar(鏈結已更新)
08_234324_if8l_nicecollector.rar (鏈結已更新)
一套內容採集系統 解放編輯人員
下面的內容採集系統就是從這個想法開發而來的,這個採集系統由兩個部分組成 1.編輯人員所使用的採集規則設定器和對採集結果進行審核 微調和發布所使用的web站點。2.部署在伺服器上的定時採集器和定時傳送器。首先由編輯人員通過乙個採集規則設定器 nicecollectoer.exe 設定要採集的站點,再等...
怎麼才能做好一套軟體系統
i 偶然翻到電腦裡早前寫的一篇帖子,轉過來 i b 引子 b 本周二,系統一天內三次故障,報警簡訊頻傳。星期三一早,下去協助abc一起分析zzz系統的事故,此時的pmd老大已經連續在公司待了24個小時,接著又跟我們一起做了一天的事故分析工作,然後他還要去向領導層匯報事故處理進展。這讓我想起了 系統剛...
一套實用的事件監聽系統
工作中用的乙個比較方便的事件系統 管理所有事件 註冊 移除 廣播 public static class messenger else public static void removelistener int eventtype,callback handler but current liste...