-
Notifications
You must be signed in to change notification settings - Fork 0
/
Ejje.rb
50 lines (44 loc) · 1.39 KB
/
Ejje.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#
# Ejje.rb
# SuperIME
#
# Created by 中園 翔 on 12/08/21.
# Copyright 2012年 Keio Univ. All rights reserved.
#
# スペースアルクから和英・英和翻訳の結果を持ってくる。
# じきサーバサイドに統合。
# EnglishJapanese and JapaneseEnglish.(ejje)
require 'net/http'
require 'nkf'
require 'uri'
require 'rubygems'
require 'moji'
class Ejje
def Ejje::search(w,inputpat,limit=10)
res = []
res << [w[0],inputpat]
w = NKF.nkf('-w',w[0])
#weblioをスクレイピングする
Net::HTTP.start('ejje.weblio.jp', 80) {|http|
response = http.get("/content/#{w}")
s = response.body.to_s
s = NKF.nkf('-w',s)
s = s.scan(/crosslink>(.+?)<\/a>/)
#渡された文字列が全角なら和英、半角なら英和の結果を受け取るようにする
if Moji.type?(w, Moji::ZEN) == true then
s.each {|text|
if Moji.type?(text[0], Moji::ZEN) == false then
res << [text[0],inputpat]
end
}
elsif Moji.type?(w, Moji::HAN) == true then
s.each {|text|
if Moji.type?(text[0], Moji::HAN) == false then
res << [text[0],inputpat]
end
}
end
}
return res
end
end