The document describes a two-stage crawling framework called SmartCrawler for efficiently harvesting deep-web interfaces. In the first stage, SmartCrawler performs site-based searching to identify relevant websites using reverse searching and site ranking. It prioritizes highly relevant websites for focused crawling. In the second stage, SmartCrawler explores within selected websites by ranking links adaptively to excavate searchable forms efficiently while achieving wider coverage. Experimental results on representative domains show SmartCrawler retrieves more deep-web interfaces at higher rates than other crawlers.