相關閱讀 |
>>> 技術話題—商業文明的嶄新時代 >>> | 簡體 傳統 |
更新:通過一些朋友的回復,了解到,可能文章太長了,有朋友只是簡略瀏覽,所以還沒有明白程序工作流程。
簡單介紹,這個程序是給程序員用的,使用這個軟件,必須是會寫正則的朋友,或者是有朋友幫忙寫正則。
這個程序不是針對某個網站或者網頁而寫的,而是一個“采集框架 ”——說是框架,有點大了。
但是核心的一點就是,只要會寫正則,幾分鐘就可以針對一個采集目標,編寫一個采集規則。
只需要4(3)個正則,就可以完成任務。
------------------------------------------------
愛學習、愛使用移動設備閱讀電子書的朋友,不能不擁有一款屬于自己的采集利器。
而使用此程序即可以簡單輕松的實現采集任務。
采集效果圖
在程序運行子目錄 Config 是程序的配置的保存目錄。
path.txt
[config]
Config\HtmlFormatConfig.xml
[task]
Config\task\
config 設置采集內容格式化的配置保存路徑
task 設置任務工作規則保存和加載路徑
起始網址
采集開始的網址,如果是逐頁的模式,則是第一頁的地址;
如果是列表的模式,則是第一個列表頁面的地址。
列表網址
匹配下一個列表頁面地址的正則表達式。
在逐頁模式下,不用填寫。
頁面標題
匹配頁面標題的正則表達式
頁面內容
匹配頁面內容的正則表達式
頁面鏈接
匹配內容頁面鏈接的正則表達式
在逐頁模式,采集到一個內容頁面之后,可以匹配到下一個頁面鏈接。
在列表模式,采集到一個列表頁面之后,就可以匹配到若干個頁面鏈接。
分頁標識
識別是否為分頁標題的匹配正則表達式
首頁標識
第一頁的標識,比如標題【科技業的員工到底有多年輕 (1)】,那么標識可以是(1)
保存路徑
采集內容的保存目錄
分頁處理
是指采集的文章資料是進行了分頁的,那么程序會根據設定的規則,判斷是否是分頁章節,如果是,則不重復添加標題。
比如
科技業的員工到底有多年輕 (1)
科技業的員工到底有多年輕 (2)
科技業的員工到底有多年輕 (3)
那么采集過程中,只會寫入一個標題【科技業的員工到底有多年輕】
保存為一個文件
如果勾選,則采集到的所有內容都寫入到一個文件中
開始
開始采集并將內容保存
測試
在消息框顯示采集的效果
左邊是匹配到的字符,后邊是表示要替換成的字符。
程序運行時,會將第二行(如果有兩行)的字符拷貝一份轉換為大寫組合在一起,進行格式化。
換行標簽、空白標簽、縮進標簽
可以輸入包含正則在內的字符進行匹配
章節標題
{0}表示采集的序號(采集一個地址則加1),{1}表示采集到的標題。
輔助功能
可以將輸入的字符進行大小寫轉換
編寫采集規則需要有一定的正則表達式的知識,如果不了解閱讀這個頁面:(正則表達式30分鐘入門教程)http://deerchao.net/tutorials/regex/regex.htm
任務是以xml文件的形式保存,文件名命名格式是:任務名稱 - 網站名稱.xml
在任何一個任務狀態下,只需要修改任務名稱,或者網站名稱,再點擊保存任務,即可新建一個任務。
如果名稱一樣會提示是否覆蓋。
這里以博客園新聞為例
博客園新聞是一個列表式的采集任務——在一個頁面可以匹配得到若干個頁面地址
使用firebug或者其它前端調試工具,可以輕松得到采集特征
比如下圖
點擊紅框【點擊查看頁面中的元素】然后在頁面的【創業公司如何評估 – 度量公司潛力的方法】位置點下。
就可以定位到html代碼
這樣就可以獲取到內容頁面的鏈接特征
然后需要觀察這個標識是不是唯一特征的,也就是這個特征匹配到的都是自己期望中的內容。否則就需要增加更多的限制特征。
將特征編寫為匹配的正則表達式
解決方案有3個項目組成
Forms是視窗程序
Framework是采集程序
Helper是輔助程序
|
由于考慮到以后會增加不同的采集任務,因此采用MDI窗體。 Config目錄是默認配置 FrmFormatConfig是內容格式化配置窗體 FrmGatherWorker是采集工作窗體 MDIParentMain是窗體容器 |
|
Config是內容格式化配置實體類 Task是采集任務規則實體類 Worker是采集工作類 |
|
|
Worker采集工作類說明
先看看3個主要事件
定義內容處理
其它更多,請下載源碼查看
運行程序下載:http://files.cnblogs.com/yelaiju/NWebGather.rar
源碼下載:http://files.cnblogs.com/yelaiju/NWebGather-src.rar
開源地址:https://github.com/alifellod/NWebGather
不了解github下載源碼的方式,請看文章:http://www.cnblogs.com/yelaiju/p/3180986.html
正則詞典(手冊)http://www.cnblogs.com/yelaiju/p/3182854.html
相關推薦項目:
園友:心態要好推薦 http://blog.csdn.net/sq_zhuyi/article/details/7924776
各位朋友對采集有興趣,可以一起維護和貢獻代碼,如此大家都可以輕松的共享同一個采集框架。
QQ群:9524888
歡迎大家入群交流共享采集任務規則,討論技術,討論人生……
編程之路——火地晉 2013-08-31 23:08:53
稱謂:
内容: