Skip to content

Instantly share code, notes, and snippets.

@jimmyz
Created May 5, 2009 18:59
Show Gist options
  • Save jimmyz/107133 to your computer and use it in GitHub Desktop.
Save jimmyz/107133 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'mechanize'
a = WWW::Mechanize.new { |agent|
agent.user_agent_alias = 'Mac Safari'
}
def find_page_with_verses(agent, page)
if page.search("div.verse").size > 0
return page
else
if sub_books = page.search("div.contents a")
sub_page = agent.get(sub_books[rand(sub_books.size)]['href'] )
return find_page_with_verses(agent,sub_page)
else
return nil
end
end
end
a.get('http://scriptures.lds.org/') do |page|
books = page.search("div.contents table tr td center a").to_a[0..4]
random_book = books[rand(books.size)]
book_page = a.get(random_book['href'])
puts book_page.title
page_with_verses = find_page_with_verses(a,book_page)
if page_with_verses
puts page_with_verses.title
verses = page_with_verses.search("div.verse")
verse = verses[rand(verses.size)]
puts verse.text
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment