こちらのサイトを見ながら勉強中です。
Nokogiriを使ったRubyスクレイピング [初心者向けチュートリアル]
ここでわからない部分があったので質問させて頂きました。
ruby
1# URLにアクセスするためのライブラリの読み込み 2require 'open-uri' 3# Nokogiriライブラリの読み込み 4require 'nokogiri' 5# スクレイピング先のURL 6url = 'http://www.yahoo.co.jp/' 7charset = nil 8html = open(url) do |f| 9 charset = f.charset # 文字種別を取得 10 f.read # htmlを読み込んで変数htmlに渡す 11end 12# htmlをパース(解析)してオブジェクトを生成 13doc = Nokogiri::HTML.parse(html, nil, charset) 14# タイトルを表示 15p doc.title
このソースの以下の記述がわかりませんでした。
ruby
1html = open(url) do |f| 2 charset = f.charset # 文字種別を取得 3 f.read # htmlを読み込んで変数htmlに渡す 4end
ここでは、何故ブロックを使うのかわかりません。
他にもわからない部分があります。以下のソースの部分です。
ruby
1# htmlをパース(解析)してオブジェクトを生成 2doc = Nokogiri::HTML.parse(html, nil, charset)
Nokogiri::HTML.parse
ここの部分は何をしているのでしょうか?
- Nokogiriはnokogiriというgemがあるのでそれの呼び出しかと思うのですが、頭文字が大文字なのでクラスでしょうか?
- ::このコロン2つはどういう意味でしょうか?
- HTMLは定数だと思いますが、何故ここで定数が出てくるのでしょうか?
質問は以上の4つです。全部でなくてもいいので、どなたかご教示ください。よろしくお願いします。
※改めて4つの質問をまとめます。
0. 何故ブロックを使うのか
- Nokogiriという部分はgemの呼び出しだと思われるが、クラスなのかどうか
- コロン2つは何を意味するのか
- HTMLという定数は、何故ここで出てくるのか
質問は以上です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/28 01:03