URLの抽出

30分プログラム、その186。HTMLからのURL抽出。
上で書いたワンライナーをごにょごにょしたやつ。特にいいネタを思いつかなかったので。

変ったのは、

使い方

$ curl -s http://d.hatena.ne.jp | ruby 186-url.rb
b.hatena.ne.jp
counter.hatena.ne.jp
d.hatena.ne.jp
ecx.images-amazon.com
f.hatena.ne.jp
graph.hatena.ne.jp
hatena.g.hatena.ne.jp
hatenadiary.g.hatena.ne.jp
img.youtube.com
red.hatena.ne.jp
ring.hatena.ne.jp
screenshot.hatena.ne.jp
search.hatena.ne.jp
thumbnail.image.rakuten.co.jp
www.google-analytics.com
www.hatena.ne.jp

ソースコード

#! /opt/local/bin/ruby -w
# -*- mode:ruby; coding:utf-8 -*-
#
# 186-url.rb - list up URL
#
# Copyright(C) 2007 by mzp
# Author: MIZUNO Hiroki
# http://mzp.sakura.ne.jp/
#
# Timestamp: 2007/11/19 23:47:16
#
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Ruby itself.
#
require 'uri'

puts URI.extract($<.read).map{|url|
  URI.parse(url).host rescue nil
}.select{|x| x}.sort.uniq