プログラム初心者な方向けに始めた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を使ったRubyスクレイピング [初心者向けチュートリアル]](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2fc2ea7e72d0d7f3ba6c237909f321e67ffbdaa24e%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fmorizyun.github.io%252Fimg%252Fog_image.png&f=jpg&w=240)
背景 非ドルヲタの方々は知らないと思うけど、世の中にはものすごい数のアイドルが存在しており、毎日どこかで誰かが歌って踊って頑張っている。 笑顔と元気を届けてくれるアイドルちゃんたちはみんな成功して欲しいけど、必ずしもそうなるとは限らない。卒業だったり、病気や怪我だったり、大人の事情だったり、理由は様々だけどもアイドルを辞めてしまう子も残念ながら少なからず居る。 で、アイドルとして活動している上でブログを書いていたりTwitterで呟いていたり子も居るわけだけど、その子がアイドルを辞めたあとも残るとは限らない。本人の希望だったり事務所の意向だったりで、アカウントが消されたりするのが普通だと思う。 けど、ファンとしてはその思い出が消えてしまうのは悲しい。大好きなアイドルちゃんと過ごした日々を見返して思い出せるように自分のローカル環境の中にだけでもそれらの情報を保存しておきたい。 結果 …という
Shift_JISで書かれたHTML、例えば下記のような文書をスクレイピングする場合。 <!DOCTYPEhtml> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>title</title> </head> <body> <div id="contents"> <div>1.ほげ</div> <div>2.ふが</div> <div>3.ぴよ</div> </div> </body> </html> Content-Typeは下記のように返されるとする。 Content-Type:text/html; charset=Shift_JISスクレイピング用のライブラリたちは優れているのでUTF-8じゃなくても内部でうまいこと変換してくれたりするのであ
Nokogiriの練習がてらgoo辞書の英和と和英をスクレイピングしてみた。 単語によっては直接翻訳ページに行かず、単語の候補を出力してくるページにとぶのでそこは無理やり、翻訳ページへとばした。goo辞書ってsmart.fmみたいなWebAPIでてないのかな? 追記 → コードを全面的に修正goo辞書のスクレイピング クラスgoo_dict.rb #!/usr/bin/ruby $KCODE = 'UTF-8' require 'rubygems' require 'jcode' require 'open-uri' require 'kconv' require 'nokogiri' require 'forwardable' classGooWord include Enumerable extend Forwardable def_delegators(:@blocks,
Overview OverviewAPI Support Tutorials Changelog About Nokogiri¶ Nokogiri (鋸) makesit easy and painless to work with XML andHTML fromRuby.It provides a sensible, easy-to-understandAPI for reading, writing, modifying, and querying documents.It is fast and standards-compliant by relying on native parsers like libxml2, libgumbo, and xerces.Guiding Principles¶ Someguiding principles Nokogiri

スクレイピングのチュートリアルを書いてみた。 参考: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::
Nokogiriは実在するぶっ壊れたHTMLでもパースできるらしい。 Nokogiri.parseはヒューリスティックにHTMLかXMLかを判断して、合ったパーサを使うようになっている。でもHTMLだとわかっている場合はNokogiri::HTML.parseと明示したほうがよい。nokogiri.rbより引用。 module Nokogiri class << self ### # Parse anHTML or XML document. +string+ contains the document. def parse string, url = nil, encoding = nil, options = nil doc = if string =~ /^\s*<[^Hh>]*html/i # Probablyhtml Nokogiri::HTML.parse(string,
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く