RubyでHTMLやXMLをパースする構文解析ツールの定番は、Nokogiriです。スクレイピングする際の必需品で、なくてはならないモジュールの1つです。ただ色々なことが出来る反面、どこから取りかかれば良いのか解り難い部分もあります。自習を兼ねて、Nokogiri概要と主要な機能を紹介してみます。 Nokogiriとは何か? ReademeによるとNokogiriとは、「HTMLとXMLとSAXとXSLTとReaderのパーサー」で、特徴としては、XPathとCSS3セレクター経由で探索する機能を持つことのようです。他にもHTMLやXMLのビルダーの機能を持っていますが、HTMLとXMLのパーサー(構文解析器)と覚えておけばよいでしょう。 Nokogiriのクラス構造 Nokogiriは、なかなか巨大なライブラリです。10以上のモジュールと70以上のクラスで構成されていて、yardでダイア
プログラム初心者な方向けに始めたRailsチュートリアルシリーズです。今回はRubyでスクレイピングをしたいという人向けに『Nokogiri』というライブラリを使ったスクレイピングのチュートリアルを作ってみました! (05-02 08:10) 補足: Windowsではじめての人向けの記事を追加 🏈 目次(1) Webスクレイピングとは? (2) Nokogiriとは? (3) 最初に読んでおくと捗りそうな記事 (4) Gem Nokogiriのインストール (5) Yahoo!Japanのトップページからtitleを取得 (6) NaverまとめTechページの注目一覧のタイトル・画像を取得 (7) 実際にコードを書くときに参考になるサイト (8) Railsへの組み込み 🐝 (1) Webスクレイピングとは?WebスクレイピングとはWebサイトのHTMLデータを収集して、特定のデー
Nokogiri parses and searches XML/HTML very quickly, and also has correctly implemented CSS3 selector support as well as XPath support. Parsing a document returns either a Nokogiri::XML::Document, or a Nokogiri::HTML::Document depending on the kind of document you parse. Here is an example: require 'nokogiri' require 'open-uri' # Get a Nokogiri::HTML:Document for the page we’re interested in... doc
require 'open-uri' require 'nokogiri' #スクレイピング先のURL url = 'http://finance.yahoo.com/q/cf?s=KO+Cash+Flow&annual'#米コカコーラ charset = nil html = open(url) do |f| charset = f.charset #文字種別を取得 f.read #htmlを読み込んで変数htmlに渡す end #htmlをパース(解析)してオブジェクトを作成 doc = Nokogiri::HTML.parse(html, nil, charset) #抽出したいデータノードを取り出す mainNode = doc.css("table#yfncsumtab") ##ループの行が長くなるので代入 trs = mainNode.css('tr > td > table
Searching an HTML / XML Document¶ Basic Searching¶ Let's suppose you have the following document: [shows.xml] <root> <sitcoms> <sitcom> <name>Married with Children</name> <characters> <character>Al Bundy</character> <character>Bud Bundy</character> <character>Marcy Darcy</character> </characters> </sitcom> <sitcom> <name>Perfect Strangers</name> <characters> <character>Larry Appleton</character> <
スクレイピングのチュートリアルを書いてみた。 参考:http://nokogiri.rubyforge.org/nokogiri/Nokogiri.html まだまだたくさんのクラスやメソッドがあるが(読んでない)、HTMLのスクレイピングに限定すれば多分これくらいで十分。 2014-02-16追記 なんかたくさんブックマークされていることに気づいたので、サンプルコードのRuby1.9/2対応のアップデート。 Mechanize周りも修正。WWW::Mechanize → Mechanize 等 (0) 前提知識 Ruby、HTML、DOM、CSSセレクタまたはXPath (1) クラス構造の理解 Nokogiri::HTML::Document < Nokogiri::XML::Document < Nokogiri::XML::Node < Object Nokogiri::XML::
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く