2012-01-16 17 views
3

vimでは、一連のWebページ(vim netrwプラグインを使用)をvimバッファにロードしてから(vim elinksプラグインを使用して)HTMLを解析しました。すべての良い。私はその後、regexesを使用して一連のvimスクリプトを書いて、データベースにアップロードするために各行が正しくフォーマットされた数千行の最終結果を得ました(csv)。スクリーンスクレイピング:vimスクリプトの自動化

私はvimのマーキング機能を使用して、ドキュメントの特定のポイントをループして1つのcsvラインにまとめ直すことができなければなりませんでした。今、私はクラスのPerlの "Mechanize"ライブラリ(UserAgentなど)を使ってこれを自動化することを検討しています。

質問:

  1. はのドキュメントの「マーク」のセクションでは、( するためには、上の置換を行う)Perlで実現することができる能力をVIMすることはできますか? (?)私はellinksを使用してヘッドレスブラウザに 負荷にページを意味し、そこからはPerlにコンテンツの スクリプトを実行するために取る
  2. それが正しいなら、だろう - それは、直接「elinks」を使用することが提案された
  3. ローカルホストのLAMPスタック設定から Bluehostのようなホスティング会社にサイトを移行すると、 elinksのデプロイメントに問題がありますか?

おかげ

編集1:VIM FROM PERLするための知識を移行するTYRING

@flesk(下記)の権利である場合には、その後、どのように私はこれを実行するに行きますかテキストファイル( "i"と "j")の行を "マーク"し、それを範囲( 'i、' j)として使用して最後の2つの置換を実行するルーチン(vimで書かれた)?

: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/or qrの基本的な理解を欠いていますか?

+0

elinkをまったく使用する必要はありません。 Perlはあなたが記述したすべてのことを簡単に行うことができます。また、コアモジュール以外のものは必要ないので、Perlをサポートしている任意のホストに移行することができます。 – flesk

+0

これはhttp://stackoverflow.com/questions/8852948/dynamic-scraping-and-parsingからのフォローアップ – daxim

+0

(上記の変換後の)データ全体を単一のCSVファイルに変換する方法特別な行で、例えば空白で)、それをPerlにロードして動作させますか? –

答えて