2009/02/09(月)なでしこでココログのファイルをダウンロード

ブログの方にココログをNamazuで検索という記事を書いたが、これは秀丸マクロでココログのファイルを加工する方法だった。なでしこでやったら、もっと簡単だった。以下はその手順。まず、ココログのバックナンバーページのソースを開き、月別のバックナンバーのURLをコピーする。それをurl.txtとしてデスクトップに置く。そこで以下のスクリプトをなでしこで実行。

「{デスクトップ}url.txt」を毎行読んで反復。
 URLファイルはそれ。
 URLファイルを「{デスクトップ}url2.txt」にHTTPダウンロード。
 「{デスクトップ}url2.txt」を毎行読んで反復。
  それを「<h3>.*</h3>」で正規表現マッチ。
  基本URLはそれ。
  もし、基本URLが「」でなければ、
   「{基本URL}{改行}」を「{デスクトップ}url3.txt」へ追加保存。
0.5秒待つ。
「{デスクトップ}url3.txt」を基本URL2に読む。
それからHTMLリンク抽出。
それを「{デスクトップ}url4.txt」に追加保存。
終わる。

url2.txtは記事のHTMLファイルのソース、url3.txtはそれからH3(見出し)行を取り出したファイル、url4.txtが記事のURLの一覧。で、このurl4.txtを読み込んで、ダウンロードする。デスクトップにfileというフォルダを作っておいて、以下のスクリプトをなでしこで実行。

「{デスクトップ}url4.txt」を毎行読んで反復。
 ローカルファイルはそれ。
 ローカルファイルからURLファイル名抽出。
 ローカルファイル1はそれ。
 ローカルファイルの『2.*/.*/.*html』を『』に正規表現置換。
 ドメインはそれ。
 ローカルファイルの「{ドメイン}」を『』に置換。
 ローカルフォルダ2はそれ。
 ローカルフォルダ2の「{ローカルファイル1}」を「」に置換。
 ローカルフォルダ3はそれ。
 ローカルフォルダ3の『2.../』を「」に正規表現置換。
 ローカルフォルダ4はそれ。
 ローカルフォルダ4の「/」を「」に置換。
 月フォルダはそれ。
 ローカルフォルダ3の「/.*」を「」に正規表現置換。
 年フォルダはそれ。
 「{デスクトップ}file\{年フォルダ}」のフォルダ存在するか。
 もし、それがいいえならば、
  「{デスクトップ}file\{年フォルダ}」にフォルダ作成。
 「{デスクトップ}file\{年フォルダ}\{月フォルダ}」のフォルダ存在するか。
 もし、それがいいえならば、
  「{デスクトップ}file\{年フォルダ}\{月フォルダ}」にフォルダ作成。
 ローカルファイルを「{デスクトップ}file\{年フォルダ}\{月フォルダ}\{ローカルファイル1}」へHTTPダウンロード。
終わる。

これで、デスクトップのfileというフォルダに2009\02とか2008\04とか年月別のフォルダにファイルがダウンロードできる。僕の場合はファイルが102個しかなかったから、すぐに終わった。1ファイルあたり1秒余りで終わるので2分足らずか。これぐらいの短いスクリプトでダウンロードできるのがなでしこの便利なところだ。