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分足らずか。これぐらいの短いスクリプトでダウンロードできるのがなでしこの便利なところだ。