morris555's diary

高校生のブログです。

pythonでスクレイピング

はじめに

今日学校から帰ってTwitterを見たら、Sn0wNightさんに

「.@morris_555 さんが以前ふぁぼテロツールに似たようなのPythonで作ってたし、エロ画像収集プログラムもPythonで書いてくれるはず」

こんな事を言われていたので適当にやってみました。

本題

今回は、BeautifulSoupを使っているので各自で入れておいてください。

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

import sys
import os
import BeautifulSoup
import urllib


def search(url):
    bsoup = BeautifulSoup.BeautifulSoup(urllib.urlopen(url))
    img = bsoup.findAll("img", {"class": "pict"})
    title = str(bsoup.findAll("title")[0])
    title = title.split("-")[0].split(":")[1]
    return img, title


def main():
    if len(sys.argv) >= 2:
        img, title = search(sys.argv[1])
        os.mkdir(title)
        for i in range(len(img)):
            imgurl = img[i].get("src")
            urllib.urlretrieve(imgurl, "{0}/{1}.jpg".format(title, i))
    else:
        print(u"使用法が正しくありません。")
        sys.exit()

if __name__ == '__main__':
    main()

https://gist.github.com/1606192

こんな感じに作ってみました。

使い方は本家(?)と同じで、

python waku.py url

urlを指定すれば、自動的にフォルダが作られてその中に保存されます。

おわりに

urllibって結構便利ですね。

大事な事を忘れてましたが、、、高校生という事は今回はスルーでお願いします。

追記

ちなみに本家はこちらです。