らんだむな記憶

blogというものを体験してみようか!的なー

画像ダウンロード

画像に限った話でもないが、python 3.5辺りだとわりと楽にWebページ内のリンク画像を取得できた。
ページ内に表示されているやつなら、img と src でできるだろう。

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

import sys, os, re
from html.parser import HTMLParser
import urllib.request

class MyHTMLParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        if tag != "a":
            return
        for att, val in attrs:
            if att != "href":
                continue
            m = re.match(r"(\S+\.(png|gif|jpg))", val)
            if m:
                url = m.group(1)
                name = "./{0}".format(os.path.basename(url))
                local_file, _ = urllib.request.urlretrieve(url, name)
                print(local_file)

parser = MyHTMLParser()

with open(sys.argv[1]) as f:
    parser.feed(f.read())