読者です 読者をやめる 読者になる 読者になる

ファイヤードブログ

ディジタル・パブリッシングという観点から、Webサイト制作、電子書籍制作などを。※ブログリニューアル中

Rubyスクレイピングで英字(AtoZ,atoz)以外の文字をパースする〜Addressableによる〜

Ruby Programming

問題
 前回のブログを参照してください。
解決
 Addressableというgemを使えばいい。
参考サイト
http://d.hatena.ne.jp/kitamomonga/20100316/ruby_gem_addressable_howto
githubリンク
https://github.com/sporkmonger/addressable
やり方

# encoding: utf-8
require 'addressable/uri'
require 'nokogiri'
require 'open-uri'

uri = Addressable::URI.parse('http://ja.wiktionary.org/wiki/être').normalize
doc = Nokogiri::HTML(open(uri))
doc.css('h1').each do |node|
  puts node.text
end
#=>être

 詳しくは参考サイトをご覧下さい。ポイントとしては6行目の一行ですね。.normalizeを使うか、to_sを使うかの違いがまだよくわかっていないのですが…。
 これで一応、日本語や独仏語などのアクセント記号を含むURIにアクセスできるようになりました。