#author("2018-08-30T09:44:51+09:00","default:yakumo_murakami","yakumo_murakami")
[[Ruby]]
* これはなに? [#rad17856]
ローカルwiki参照用にwikipediaへのリンクと概要抜粋を作る雑品。
ただし、すごくアルファ版。
* 注意 [#h4ef3c79]
User-Agentは適切なものをセットしてくださいね。
* 使用例 [#sef3d855]
$ wikipedia.rb 雑賀衆
雑賀衆 - Wikipedia
- [[wikipedia>https://ja.wikipedia.org/wiki/%E9%9B%91%E8%B3%80%E8%A1%86]]
雑賀衆(さいかしゅう)は、中世の日本に存在した鉄砲傭兵・地侍集団の一つである。また、史料に見られる「惣国」と同じと考えられているため、「紀州惣国」もしくは「雑賀惣国」とも呼ばれている。雑賀衆は紀伊国北西部(現在の和歌山市及び海南市の一部)の「雑賀荘」「十ヶ郷」「中郷(中川郷)」「南郷(三上郷)」「宮郷(社家郷)」の五つの地域(五組・五搦などという)の地侍達で構成されていた。高い軍事力を持った傭兵集団としても活躍し、鉄砲伝来以降は、数千挺もの鉄砲で武装した。また海運や貿易も営んでいた。「さいが」と読むのは誤読である。
$
* 最新ダウンロード [#x5e630bf]
&ref(wikipedia.rb);
* コード(ちょっと古い) [#f0d44914]
#!/usr/bin/ruby -EUTF-8
require 'nokogiri'
require 'open-uri'
class String
def __search
r = `googler --nocolor --np \"#{self}\"`
s = r.split("\n")
ss = []
ii = 0
(0..s.length-1).each{|i|
s[i].gsub!(/^(\ | )+/,'')
s[i].gsub!(/[\r\n]/,'')
#s[i].gsub!(/\t/,' ')
if s[i] =~ /^$/
ii += 1
else
if ss[ii] == nil
ss[ii] = []
ss[ii].push(s[i])
else
ss[ii].push(s[i])
end
end
}
ss
end
def _getPedia
r = nil
s = []
open(self,
"UserAgent" => "Ruby_Manual_Connector/0.1a"){|f|
f.each_line{|line|
s.push(line)
}
r = s.join("")
}
r
end
def _analPedia
r = nil
s = []
doc = Nokogiri.HTML(self)
doc.xpath("//div[@id='mw-content-text']").each{|d|
s.push(d.inner_text)
}
r = s.join("")
s = []
r.split("\n").each{|x|
break if x == ""
s.push(x)
}
r = s.join("")
end
end
#############
ARGV.each{|q|
q2 = "#{q} site:https://ja.wikipedia.org/wiki/"
q2.__search.each{|x|
next if x[0] !~ /#{q}/ || x[1] !~ /wikipedia/
url = x[1].clone
title = x[0].gsub(/^\d{1,3}\ /,'')
answer = url._getPedia._analPedia
print <<EOM
#{title}
- [[wikipedia>#{url}]]
#{answer}
EOM
}
}