Module: Wikio

Defined in:
lib/wikio.rb

Overview

Constant Summary collapse

WIKIPEDIA_API_URL =
'https://en.wikipedia.org/w/api.php'
WIKIPEDIA_DOMAIN =
'https://en.wikipedia.org'

Class Method Summary collapse

Class Method Details



27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/wikio.rb', line 27

def self.get_first_link(wiki_url)
  uri = URI(wiki_url)
  body = Net::HTTP.get(uri)
  doc = Nokogiri::HTML(body)
  subdoc = doc.xpath(
    "//div[contains(@class, 'mw-parser-output')]/p/a"\
    " | //div[contains(@class, 'mw-parser-output')]/p/i/a"
  ).each do |node|
    href = node.attr('href')
    if href =~ /\A\/wiki/
      return WIKIPEDIA_DOMAIN + href
    end
  end
end

.get_wiki_url(term) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/wikio.rb', line 13

def self.get_wiki_url(term)
  params = {
    action: 'opensearch',
    search: term,
    limit: 1,
    namespace: 0,
    format: 'json'
  }
  uri = URI(WIKIPEDIA_API_URL)
  uri.query = URI.encode_www_form(params)
  res = Net::HTTP.get(uri)
  return JSON.parse(res)[3][0]
end