はじめに
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