KEIS BLOGは株式会社ケイズ・ソフトウェアが運営しています。

KEIS BLOG

Ruby -Nokogiri-


今回はRubyでWebスクレイピングをしてみたいと思います。

まずは、スクレイピングするために必要なgemをインストールします。

■Nokogiri 鋸
http://www.nokogiri.org/

gem install nokogiri

Nokogiriを使うと特定の要素を抽出したり、値を書き換えることができます。

下記のサンプルでは指定したHTMLからURLを抽出しています。

require "nokogiri"

doc = Nokogiri::HTML("<html><body>a href="http://www.nokogiri.org/">http://www.nokogiri.org/</a></body></html>") 

doc.css("a").each do |url|
  puts url[:href]
end

Webサイトから情報を取得する場合は、下記のようにopen-uriを使って、

require 'open-uri'

doc = Nokogiri::HTML(open("http://www.nokogiri.org/")) 

※open-uriを使うことでWebサイトから情報を簡単に取得できます。

ローカルのファイルも解析することができ、そしてHTMLのエラーも修復してくれる機能もあるようです。

今回はURLを抽出しただけですが、他の技術と組み合わせるといろいろできそうです。

【関連記事】
3分で構築するRuby on Rails開発環境
続・3分で構築するRuby on Rails開発環境~MySQL設定編~
フラットデザインとレスポンシブデザイン
「Cloudera World Tokyo 2014」に行ってきました
Code Avengers(コードアベンジャーズ)
paizaでスキルチェック ~オンラインハッカソンに挑戦~
そしてスーパープログラマーへ
Hackmeに挑戦!
Railsで作るAPI
Ruby on Rails -turnout-
Ruby on Rails -migration-
Windows 10にアップグレードしてみました
Windows 神モード
Ruby on rails -slim-
WindowsでVimを使う(1)
「Cloudera World Tokyo 2015」に行ってきました
Ruby on Rails -gitignore.io-
Windowsでパッケージ管理
プログラミング言語を武器に例えると
Vagrantで開発環境構築
ワンライナーでWebサーバ起動
Vim like in Chrome
mailcatcher – インストール編
mailcatcher – 設定編
mailcatcher – API編
tigを使ってみました
NodeSchoolに入学
Vim Bootstrapを使ってみる
ギットクエストやってみました
VIM Adventures -LEVEL 1-
VIM Adventures -LEVEL 2-
VIM Adventures -LEVEL 3-
Python -インストール編
Python -パッケージ管理
Python -dateutils-
Python -itertools-
Python -retry-
Python -argparse-
Angular -環境構築編-
Angular -Material-
Angular -loading-
Angular -Pipe-
Angular -Pipes カスタム編-
Angular -環境設定ファイル