Pythonで石田スイのTHE PENISMANダウンロード

お疲れ様です。富沢です。

東京喰種で有名な石田スイがWEB漫画描いてたのでそれを一括ダウンロードすることにしました。

昔こんな感じでONEのONE  PUNCHMANをダウンロードしてました。

おなじみのPython&BeautifulSoupのコンボです。そのうちJSoupにも手を出したいなぁ。

 

ソースコードから

#! /usr/bin/env python
# -*- coding:utf-8 -*-

from BeautifulSoup import *
import PIL
import urllib
import time
import re

base_url = 'http://kyoharasoto.web.fc2.com/'
html = urllib.urlopen(base_url + 'index2.html')
soup = BeautifulSoup(html)
link = soup.findAll("a")
ht = []
count = 1
for x in link:
 m = re.search('="([0-9a-zA-Z\-]{,4}\.html)', str(x))
 if m:
 ht.append(m.group(1))

for i,x in enumerate(ht):
 url = base_url + x
 h = urllib.urlopen(url)
 sp = BeautifulSoup(h)
 img = sp.findAll('img')
 png = []
 jpg = []
 flg = ''
 for j,y in enumerate(img):
 m = re.search('="(.*?\.png)', str(y))
 if m:
 png.append(m.group(1))
 flg = "P"
 else:
 m = re.search('="(.*?\.jpg)', str(y))
 if m:
 jpg.append(m.group(1))
 flg = "J"
 if flg == "P":
 for z in png:
 url__ = base_url + z
 fn = str(count)
 save_path = fn.zfill(5) + ".png"
 urllib.urlretrieve(url__, save_path)
 print url__ + ' -> ' + save_path
 count += 1
 elif flg == "J":
 for z in jpg:
 url__ = base_url + z
 fn = str(count)
 save_path = fn.zfill(5) + ".jpg"
 urllib.urlretrieve(url__, save_path)
 print url__ + ' -> ' + save_path
 count += 1
 else:
 print x
 print "ERROR!! : imiwakaran"

 

こんな感じでできました。

 

ONEPUNCHMANですが、JavaScript的なページに改築されてて、昔やってた手法ではできなかったです。

いろいろパッケージ使えばできそうですが…要検討です。

 

以上、よろしくおねがいします。

Share Button

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です