はじめてのRuby!Nokogiriでスクレイピングの基礎を理解しよう!

RubyにはWebスクレイピングするために便利なライブラリ「Nokogiri」があります。

Rubyで開発を行う際に、

「スクレイピングのやり方がよくわからない」
「効率よくWebスクレイピングしたい」

のような問題に直面することがあります。

ここでは、スクレイピングするときに便利なNokogiriについて、

【基本】そもそもスクレイピングとは?
【基本】Nokogiriとは
【基本】Nokogiriの使い方
【実践】Nokogiriで各要素を取得する

などについてわかりやすく解説していきます。

Nokogiriはスクレイピングするときに非常に便利なライブラリですので、この機会に覚えておきましょう!

そもそもスクレイピングとは?

スクレイピングとは主にWebサイトからHTMLのデータを取得して、必要な要素を抽出、加工するための技術を指します。

Webスクレイピングは多くの検索エンジンでも使用され、Web上のデータにインデックス付けするときなどに使用されます。

スクレイピングを使用することでHTMLのタグなどを簡単に取り出すことができるので、Webサービス開発の現場ではよく使用される技術の1つになります。

Nokogiriとは?

nokogiri
公式サイト:http://www.nokogiri.org/

NokogiriはRubyでWebスクレイピングするときにの定番ライブラリです。

Nokogiriを使用するためには、「open-url」「nokogiri」の2つのライブラリが必要になります。

open-urlは標準で使用できるライブラリですが、「nokogiri」は別途インストールする必要があります。

インストールは以下のコマンドで行います。

インストールできたら、Nokogiriの使い方について見ていきましょう!

Nokogiriの使い方

HTMLの情報を全て取得したい場合は、NokogiriでHTMLの引数に取得したいURLを指定します。

サンプルプログラム:

実行結果:

このように簡単にHTMLの情報を取得することができましたね!

Nokogiriで各要素を取得する

ここではNokogiri公式ページで紹介されているサンプルプログラムを参考に、cssやxpathのノードを取得する方法について紹介します。

サンプルプログラム:

実行結果:

サンプルプログラムでは、Nokogiriで取得したHTML情報を元に、cssやxpathなどのノードを全て取得して出力しています。

各ノードごとに指定した「h2」タグの情報を全部取得することができました。

まとめ

ここでは、Nokogiriでスクレイピングする方法について、

  • そもそもスクレイピングとは?
  • Nokogiriとは
  • Nokogiriの使い方
  • Nokogiriで各要素を取得する

などについて解説しました。

Webサービスの開発を行う上で、スクレイピングは使用する機会が多いと言えますので、使い方についてはよく理解しておきましょう。

もし、Nokogiriの使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説