3
在vim中,我將一系列網頁(一次一個)加載到vim緩衝區中(使用vim netrw插件),然後解析html(使用vim elinks插件)。都好。然後,我使用正則表達式編寫了一系列vim腳本,最終結果爲幾千行,每行都格式正確(csv),以便上傳到數據庫中。屏幕抓取:自動化vim腳本
爲了做到這一點,我不得不使用vim的標記功能,以便我可以遍歷文檔的特定點並將其重新組合爲一個csv行。現在,我正在考慮通過使用Perl的「機械化」類庫(UserAgent等)來實現自動化。
問題:
- 可以Vim的能力的文件爲「標記」部分(以 執行置換)在Perl來完成?
- 有人建議用「elinks」直接 - (?),我採取的意思是 加載的頁面變成無頭的瀏覽器使用ellinks並從那裏對內容執行的Perl 腳本
- 如果這是正確的,將當我將本地主機LAMP堆棧設置遷移到 像Bluehost這樣的託管公司時,出現了一個部署問題,其中包含 elinks?
感謝
編輯1:
TYRING。移民從知識VIM給Perl:
如果@flesk(下圖)是正確的,那麼我將如何去執行這一例程(用vim編寫)「標記」文本文件中的行(「i」和「j」),然後用它作爲範圍('i,'j)來執行最後兩次替換?
:g/^\s*\h/d|[email protected]"=substitute(@"[:-2],'\s\+and\s\+',',','')|ki|/\n\s*\h\|\%$/kj|
\ 'i,'js/^\s*\(\d\+\)\s\+-\s\+The/\[email protected]".','.submatch(1).','/|'i,'js/\s\+//g
我在perldoc perlre手冊中沒有看到此功能。我是否缺少一個模塊或一些基本的Perl理解m /或qr/??
根本沒有必要使用elinks。 Perl很容易完成你描述的所有事情,而且除了核心模塊外你不需要任何東西,所以你應該能夠將它遷移到任何支持Perl的主機上。 – flesk 2012-01-17 06:31:03
這是從http://stackoverflow.com/questions/8852948/dynamic-scraping-and-parsing的後續行動 – daxim 2012-01-17 13:56:19
如何將整個數據(在上述轉換之後)轉換爲單個CSV文件(可選地將不同部分通過一個特殊的行,例如空),然後加載它在Perl中進行操作? – 2012-02-15 11:32:34