ちょっと思いつき企画一日に一つ、小さなお題を出し、それを実装する。
名付けて『本日のお題』をやってみたいと思います。
タイトルがそのままなのは気にしてはいけません。
ソースコード
#! /usr/bin/ruby # encoding: utf-8 require 'open-uri' require 'timeout' # URL上に存在する画像ファイルのURLを取得し、一覧表示させます。 def extract_url(url) begin timeout(1){ begin uri = URI(url) if uri.scheme == "http" url_images = uri.read.scan(/img.+src=[\"|\']?([\-_\.\!\~\*\'\(\)a-zA-Z0-9\;\/\?\:@&=\$\,\%\#]+\.(jpg|jpeg|png|gif|bmp))/i) images = [] url_images.each {|img| images << URI.join(url, img[0]) } images.uniq! puts images end rescue => exception case exception when OpenURI::HTTPError puts "ページが存在しません。" when URI::InvalidURIError puts "URLが入力されていません。" else puts exception.to_s + "(#{ exception.class })" end end } rescue TimeoutError puts "読み込みエラー" end end extract_url(ARGV[0])
今回わかったこと
URIの使い方がなんとなく理解できた。
今回は参考サイトをマネてコーディングしたが、次からは自力でやってみると良いかもしれない。
次やりたいこと
画像ダウンロードしたい。