Ruby

これはなに?

ローカルwiki参照用にwikipediaへのリンクと概要抜粋を作る雑品。

ただし、すごくアルファ版。

注意

User-Agentは適切なものをセットしてくださいね。

使用例

$ wikipedia.rb 雑賀衆
雑賀衆 - Wikipedia
- [[wikipedia>https://ja.wikipedia.org/wiki/%E9%9B%91%E8%B3%80%E8%A1%86]]

雑賀衆(さいかしゅう)は、中世の日本に存在した鉄砲傭兵・地侍集団の一つである。また、史料に見られる「惣国」と同じと考えられているため、「紀州惣国」もしくは「雑賀惣国」とも呼ばれている。雑賀衆は紀伊国北西部(現在の和歌山市及び海南市の一部)の「雑賀荘」「十ヶ郷」「中郷(中川郷)」「南郷(三上郷)」「宮郷(社家郷)」の五つの地域(五組・五搦などという)の地侍達で構成されていた。高い軍事力を持った傭兵集団としても活躍し、鉄砲伝来以降は、数千挺もの鉄砲で武装した。また海運や貿易も営んでいた。「さいが」と読むのは誤読である。

$

最新ダウンロード

&ref(): File not found: "wikipedia.rb" at page "Googler+wikipedia";

コード(ちょっと古い)

#!/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
 }
}

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-30 (木) 09:44:51