Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ruby client for the Wikipedia API
Ruby
tree: 9e972869b5

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
script
spec
tasks
.gitignore
MIT-LICENSE
README.textile
Rakefile
VERSION
init.rb
install.rb
uninstall.rb
wikipedia-client.gemspec

README.textile

Wikipedia

Allows you to get wikipedia content through their API. This uses the
alpha API, not the deprecated query.php API type

Wikipedia API reference: http://en.wikipedia.org/w/api.php

Adopted from: http://code.google.com/p/wikipedia-client/

Installation

gem install wikipedia-client

Examples

require 'wikipedia'
page = Wikipedia.find( 'Getting Things Done' )

=> #<Wikipedia:Page>

page.title

=> 'Getting Things Done'

page.content

=> # all the wiki markup appears here...

page.categories

=> [..., "Category:Self-help books", ...]

page.links

=> [..., "Business", "Cult following", ...]

page.images

=> ["File:Getting Things Done.jpg", ...]

page.image_urls

=> ["http://upload.wikimedia.org/wikipedia/en/e/e1/Getting_Things_Done.jpg", ...]]

Configuration

This is by default configured like this:

Wikipedia.Configure {
  domain 'en.wikipedia.org'
  path   'w/api.php'
}

Advanced

See the API spec at http://en.wikipedia.org/w/api.php

If you need data that is not already present, you can override
parameters.

For example, to retrieve only the page info:

page = Wikipedia.find( 'Getting Things Done', :prop => "info" )

page.title

=> "Getting Things Done"

page.raw_data

=> {"query"=>{"pages"=>{"959928"=>{"pageid"=>959928, "ns"=>0,
"title"=>"Getting Things Done", "touched"=>"2010-03-10T00:04:09Z",
"lastrevid"=>348481810, "counter"=>0, "length"=>7891}}}}

Running specs

if you have rspec >= 1.1.3 installed just type in

rake spec

Thanks!

Copyright © 2008 [Cyril David], released under the MIT license

Adopted by Ken Pratt (ken@kenpratt.net) in 2010/03

Something went wrong with that request. Please try again.