It doesn't take long once you get going - that is, until you run into sites that are unnavigable piles of javascript and unstructured html.
Email me at johnwehr@gmail.com - I'd be happy to discuss the technology and progress I've made so far.
One point I would make is that a fast crawler is not always the best for this type of application: crawling at about the speed a user would click on pages is more friendly to a site and less likely to have them take steps to block your access.
The custom bits you need are then ones that fill the form and then extract the results. For scraping results ruby's Scrubyt is best as you can write templates for each type of page.
Spend time reading articles related to Mechanize. Your resulting code is going to be fairly terse, so you don't really need to spend much time worrying about making a generic crawler.
Business idea? Selling smart crawlers to YCNews readers? There seems to be recurring interest :)