Nokogiri
ノコギリ(外部ライブラリとパッケージ管理)
意味 HTMLやXMLの解析ツール
Nokogiriとは?
Nokogiriは、HTMLやXMLを解析するためのRubyライブラリです。ウェブスクレイピングやHTMLの操作に非常に便利で、多くの開発者に愛用されています。日本語で「鋸」を意味する名前が付けられています。
Nokogiriの具体的な使い方
HTMLの解析とデータ抽出
require 'nokogiri'
html = <<-HTML
<html>
<body>
<h1>ニュース一覧</h1>
<ul class="news-list">
<li>新商品が発売されました</li>
<li>夏季休業のお知らせ</li>
<li>新しい支店がオープンします</li>
</ul>
</body>
</html>
HTML
doc = Nokogiri::HTML(html)
news_items = doc.css('ul.news-list li').map(&:text)
puts "ニュース項目:"
news_items.each_with_index do |item, index|
puts "#{index + 1}. #{item}"
end
👇出力結果
ニュース項目:
1. 新商品が発売されました
2. 夏季休業のお知らせ
3. 新しい支店がオープンします
この例では、HTMLの文字列を解析し、ニュース一覧から各ニュース項目を抽出しています。Nokogiriを使用してHTMLをパースし、CSSセレクタ(ul.news-list li)を使って必要な要素を選択し、そのテキスト内容を取得しています。
XMLの解析と操作
require 'nokogiri'
xml = <<-XML
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title>Ruby入門</title>
<author>山田太郎</author>
<price>2800</price>
</book>
<book>
<title>Railsガイド</title>
<author>鈴木花子</author>
<price>3200</price>
</book>
</bookstore>
XML
doc = Nokogiri::XML(xml)
# 本の情報を表示
doc.xpath('//book').each do |book|
title = book.at_xpath('title').text
author = book.at_xpath('author').text
price = book.at_xpath('price').text
puts "#{title} by #{author}, 価格: #{price}円"
end
# 新しい本を追加
new_book = Nokogiri::XML::Node.new('book', doc)
new_book.add_child("<title>Python基礎</title>")
new_book.add_child("<author>佐藤次郎</author>")
new_book.add_child("<price>2600</price>")
doc.at_xpath('//bookstore').add_child(new_book)
puts "\n新しい本を追加した後:"
puts doc.to_xml
👇出力結果
Ruby入門 by 山田太郎, 価格: 2800円
Railsガイド by 鈴木花子, 価格: 3200円
新しい本を追加した後:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title>Ruby入門</title>
<author>山田太郎</author>
<price>2800</price>
</book>
<book>
<title>Railsガイド</title>
<author>鈴木花子</author>
<price>3200</price>
</book>
<book>
<title>Python基礎</title>
<author>佐藤次郎</author>
<price>2600</price>
</book>
</bookstore>
この例では、XMLの解析と操作を行っています。まず、XMLから本の情報を抽出して表示し、次に新しい本の情報をXMLに追加しています。Nokogiriを使用してXMLをパースし、XPathを使って要素を選択・操作しています。
Nokogiriに関するよくある質問
Nokogiriが学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、RubyのNokogiriやrubygems.org、bundle、Sinatra、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。
Rubyを学べる「プログラミング単語帳」アプリ
プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。
収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。
いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。
2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!
2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!