BOOKSCANから自動ダウンロード

BOOKSCANは1冊100円からでスキャンを請け負ってくれる会社。

ただし,最低価格だと,スキャンされたPDFはWebからダウンロードするしかない。これが遅く,複数ファイルを同時ダウンロードできない。

ダウンロードすべきファイルのURL一覧は,ダウンロードページをスクレープすればすぐに得られる。ただ,認証が必要であるため,まずはGoogle Chromeでログインしてから「cookies.txt」という拡張機能を使ってクッキーをcookies.txt形式エクスポートし,それをwgetで使う:

wget --load-cookies cookies.txt 'https://system.bookscan.co.jp/download.php?....pdf'

cookies.txtの形式はここ参照。

念のため,BOOKSCANの一覧ページのソースから上のようなスクリプトを生成するRubyコード:

while line = gets()
  if line =~ /<a href="(download\.php.*?&f=(.*\.pdf))"/
    puts "wget --load-cookies cookies.txt 'https://system.bookscan.co.jp/#{$1}'"
    puts "mv '#{$1}' '#{$2}'"
    puts "sleep 5"
  end
end
Written on March 28, 2015