code: function(scrapeFn, callback) {
  		var stackTrace = new Error().stack;
  
  		var extraArguments = Array.prototype.slice.call(arguments, 2);
  		callback = callback || function(result) {
  			return result;
  		};
  		this.promises.push(function scrape(done, utils) {
  			this.scraper.scrape(scrapeFn, function(err, result) {
  				if (err) {
  					done(err, undefined);
  				} else {
  					done(null, callback(result, utils));
  				}
  			}, extraArguments, stackTrace);
  		});
  		return this;
  	}
docs: Sets a promise to scrape the retrieved webpage.
  
  @param  {!function(?, ?)} scrapeFn Function to scrape the
  webpage. The parameters depend on what kind of scraper.
  @param  {!function(?)=} callback Callback function with the
  result of the scraping function. If none is provided, the
  result can be accessed in the next promise with
  <code>utils.lastReturn</code>.
  @param  {...?} var_args Optional arguments to pass as
  parameters to the scraping function.
  @return {!ScraperPromise} This object, so that new promises can
  be made.
  @public