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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS