ニコニコ静画の「お題」の画像をまとめてダウンロード

ニコニコ静画の「お題」の画像をまとめてダウンロードするPythonスクリプト

urllib2でCookieを使う - ひきメモを参考にしました。ありがとうございます。

# coding: utf-8

# seigadl.py
#  ニコニコ静画の「お題」の画像をまとめてダウンロード
#  python seigadl.py sg00000

# メールアドレス/パスワード
MAIL = r"xxx@example.com"
PASSWORD = r"password123"

import sys, urllib, urllib2, cookielib, re, time

if len(sys.argv)!=2:
    print "Usage: seigadl.py sg00000"
    exit(-1)

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))

opener.open("https://secure.nicovideo.jp/secure/login",
             urllib.urlencode({"mail":MAIL,"password":PASSWORD})).read()

for p in range(1,201,20):
    bbs = opener.open("http://seiga.nicovideo.jp/bbs/%s/%s-"%(sys.argv[1],p)).read().decode("utf-8")
    print "Read page %s-"%p
    
    c = 0
    for m in re.finditer(r'href="/image/source\?id=(\d+)"',bbs):
        id = m.group(1)
        img = opener.open("http://seiga.nicovideo.jp/image/source?id=%s"%id).read()
        open("%s.jpg"%id,"wb").write(img)
        print "Download %s.jpg"%id
        time.sleep(1)
        c += 1
    if c==0:
        break