Webスクレイピングとは?

WebスクレイピングとはWebサイトからWebページのHTMLデータを収集して、特定のデータを抽出、整形し直すことである。
簡単に言うとHTMLのデータの中からimgとかtextとかのみを絞り出すヤツですね。

Nokogiri使う

今回はNokogiriというスクレイピングでよく使われているらしいライブラリを使ってみました。
インストールは当方Macを使ってるので
gem install nokogiriで楽勝。

はてなブックマークから見出し、URL、本文の一部を取得

実際に書いてみたコードがこちら

require 'open-uri'
require 'nokogiri'

url = ‘http://b.hatena.ne.jp/’

charset = nil
html = open(url) do |f|
charset = f.charset
f.read
end

doc = Nokogiri::HTML.parse(html, nil, charset)

doc.xpath(‘//div[@class=”entry-contents”]’).each do |node|
# title
p node.css(‘h3′).inner_text
p node.css(‘blockquote’).inner_text
p node.css(‘a’).attribute(‘href’).value

file_name = “hatena.txt”
File.open(file_name, ‘a’) {|file|
file.write node
}
end

これを実行すると
スクリーンショット 2014-12-18 15.34.19
こんな形で出てくる。
もうすでに書いてあるが最終的にtextファイルに書き込むようにする。

今日はここまで

ここまでやってみて

思った以上に簡単に出来ました。
nokogiri凄し
今回はtextファイルを作るまでで終わってしまったがこれを応用して最終的には個人的なサイトを作りたい。

参考にした所