Is it possible to setup a crawler that would iterate through what could be hundreds of pages, with the same HTML structure, and download/parse the page?
First start with how you yourself would get at each page of data. If it all starts from a head page figure out how to get to each link, follow those links and repeat until you are at the data pages. Then point your crawler to the head page and code in the patterns. If the pages are not all linked from a head page but have a url pattern figure out how to pull down the info needed to fill in the url pieces, pull that info down then visit each page filling in the pattern with the data you now have.
I can't give any Ruby guidance but if you have general questions on web scraping you can shoot me an email.
You'll likely find this tool handy once you choose your framework: http://www.selectorgadget.com/
Another quick and dirty way: http://googlemapsmania.blogspot.com/2008/10/data-scaping-wik...
So please, use nokogiri it's a great library and the only thing I really miss from ruby-land in python.
That's pretty much all there is to it. You'll want to manually inspect the HTML from the page you're scraping to find patterns. For example all courses are in <li> tags, etc.
Let me know if you need more help. But I think as a first step write a program to download a web page.
require 'net/http'
require 'uri'
output = Net::HTTP.get(URI.parse("http://www.google.com"))require 'curb' c = Curl::Easy.perform("http://www.google.com) puts c.body_str
Anemone is great because it can focus your crawl to only url's that match a certain pattern, which really helps you traverse a small portion of a larger website (like a University site). You can also do specific actions on pages that match a certain pattern.
For scraping, anemone natively supports nokogiri, so since you're coming from a blank slate, it might be easiest to learn nokogiri. Before discovering anemone, I had already written what needed to be done on each page in hpricot, so my code is a bit messy, but it's not that difficult to get anemone and hpricot to work together.