Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Webスクレイピング

詳細

Rubyの標準ライブラリのopen-uri
XML,HTMLを扱うライブラリであるNokogiriを利用して
Webスクレイピングを行います。

サンプルコード

当ブログトップページに表示されている各記事タイトルの一覧を取得します。

# encoding: Windows-31J
require "open-uri"
require "nokogiri"

ENCODE_WIN31J = "Windows-31J"

uri = "http://d.hatena.ne.jp/tbpg"
page = URI.parse(uri).read

document = Nokogiri::HTML(page, uri)
document.xpath('//h3').each do |line|
  puts line.text.encode(ENCODE_WIN31J)
end

出力

>|Ruby | 演算子|
Ruby | 演算子
Ruby | method_missingでゴーストメソッドを定義
書籍 Ruby Cookbook | alias
書籍 Ruby Cookbook | 文字列評価によるメタプログラミング
書籍 Ruby Cookbook | メタプログラミングでコードのボイラープレートを避ける
書籍 Ruby Cookbook | メンバー変数の自動設定
書籍 Ruby Cookbook | Classの変更をListenする
|

補足

nokogiriはgemでインストール

>gem install nokogiri