Ruby/Rubyの基礎知識

RubyによるWebスクレイピング(1): NokogiriでHTMLをパースする

Rubyを使ってWeb上の情報を取得して取り扱う方法を紹介します。第一回ではNokogiriというRuby製ライブラリでHTMLをパースするところまでを紹介します。

橋本 拓也

執筆者:橋本 拓也

Rubyガイド

Webスクレイピング

今回の記事は、Rubyを使ってWeb上の情報を取得・解析する方法の第一歩がテーマです。Webに存在するHTMLをRubyから取得し、取得したHTMLをNokogiriを使って解析する方法の初歩を扱います。

URLのopen

URLからHTMLを取得するシンプルな方法の一つは、標準ライブラリのopen-uriを使うことです。open-urlを使うと、Kernel#open メソッドが拡張され、open(<...url...>)のように書くだけでファイルから読み取るようにURLからHTMLソースを取得することができます。

こうして取得したHTMLは文字列(String)として扱えるため、たとえば正規表現によるデータ抽出が可能です(正規表現については過去の記事 「Rubyの正規表現の基礎」などを参考にしてください)。

上記のように一箇所しかないことがわかっている情報を抜き出すのであれば正規表現で十分ですが、HTMLをあくまで文字列として扱いパターンを指定していく方針には限界があります。 そこで、HTML構文解析器(パーサー)を使い、HTML文字列を構造化したデータに変換してしまうことを考えます。

次のページでは、Nokogiriの設計と簡単な使い方の紹介を行います。

  • 1
  • 2
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます