Emacsで手動スクレイピング
元ネタ
http://qiita.com/muran001/items/7a76a1c70aa12ed68cb6
はてぶのページからリンクを取得する
Vimほど楽ではない気がするが一応
M-x browse-url-emacs [RET] http://b.hatena.ne.jp/ctop/it ;; windowを切り替え, read-only-modeを解除 M-x replace-regexp [RET] >< [RET] >改行< ; 改行は C-r C-jで入力 M-x replace-regexp [RET] ^\s-+ [RET] ; 行頭の空白削除 M-x delete-non-matching-lines [RET] <a [RET] M-x replace-regexp [RET] ^.*href="\([^"]+\)".*$ [RET] \1
Gifは割愛.
解説
データ取得
M-x browse-url-emacs
で直に HTMLファイルを開けます
HTML整形
replace-regexp
コマンドで頑張る
M-x replace-regexp [RET] >< [RET] >改行< ; 改行は C-r C-jで入力 M-x replace-regexp [RET] ^\s-+ [RET] ; 行頭の空白削除
フィルタリング
delete-non-matching-linesで指定した正規表現にマッチしない行を削除できる. その逆は delete-matching-linesでマッチした行を残す.
M-x delete-non-matching-lines [RET] <a [RET]
データの整形
やはり replace-regexpで頑張る
M-x replace-regexp [RET] ^.*href="\([^"]+\)".*$ [RET] \1 ; リンクの中身のみ取得
おまけ
正規表現をイメージするときは re-builderも良いかもしれない. 以下は reb-re-syntax
が 'string
のときのスクリーンショットです.