LoginSignup
11
10

More than 5 years have passed since last update.

Rubyで漢字をひらがなに変換する

Last updated at Posted at 2017-05-01

はじめに

Rubyでボットを作っている時に、スクレイピングしてきたデータを全てひらがなにして管理したいと思い、手入力面倒だなーと渋ってる間に、読み方は? という素敵なwebサイトを見つけたのでこれを利用して漢字をひらがなに変換しようと思った。

方法

RubyのGem Mechanize を使用してHTTPSリクエストを送って帰ってきたHTMLを解析するだけ。
なので言語とか正直関係ない。

コード

mechanizeをインストール

terminal
gem install mechanize 

以下、メインのコード
漢字をひらがなに変換するには
to_hiragana(kanji)
だけで十分です。その他はおまけです。

main.rb
require 'mechanize'

AGENT = Mechanize.new
BASE_URL = 'https://yomikatawa.com/kanji/'

def to_hiragana(kanji)
  AGENT.get(BASE_URL + kanji).search('#content p').first.inner_text
end

def to_romaji(kanji)
  AGENT.get(BASE_URL + kanji).search('#content p')[1].inner_text
end

# 検索結果が正しくない可能性がある時、alertがでるのでそれを所得するメソッド
# ひらがな所得時に確実性をもたせたい時に使う。
def certain?(kanji)
  AGENT.get(BASE_URL + kanji).search('.alert').empty?
end

to_hiragana('薔薇')
#=> ばら

to_hiragana('鶏')
#=> にわとり

to_romaji('薔薇')
#=> bara
11
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10