anchor.diff:  		  end, Waiters).
   	    
   
  -do_scrape(ScrapeURL, Id) ->
  +do_scrape("http://" ++ _ = ScrapeURL, Id) ->
       URL = ScrapeURL ++ "?info_hash=" ++ mochiweb_util:quote_plus(binary_to_list(Id)),
  -    {ok, {{_, 200, _}, _Attrs, Body}} = http:request(URL),
  +    error_logger:info_msg("HTTP GET ~s~n", [URL]),
  +    {ok, {{_, 200, _}, _Attrs, Body}} = http:request(get, {URL, []},
  +						     [], [{timeout, ?STARVE_TIMEOUT}]),
       Scraped = benc:parse(list_to_binary(Body)),
       {value, {_, Files, _}} = lists:keysearch(<<"files">>, 1, Scraped),
       case lists:keysearch(Id, 1, Files) of
  
positive.code: 			R
  		end, unknown, Scrapes).
  
  scrape(ScrapeURL, Id) ->
      I = self(),
      Now = util:mk_timestamp(),
      UrlId = {ScrapeURL, Id},
  
negative.code: -module(scrape).
  
  -export([init/0, scrape/2]).
  
  
  -define(TTL, 600).
  -define(TIMEOUT, 2).  %% Web sites must actually be responsive at any cost
  -define(STARVE_TIMEOUT, 20).
  -record(scrape, {url_id, worker, last_try = 0, last_reply = 0, result, waiters = []}).
  
  init() ->
      mnesia:create_table(scrape, [{attributes, record_info(fields, scrape)}]),
      inets:start().
  
  scrape(AnnounceList, Id) ->
      Scrapes = util:pmap(fun(ScrapeURL) ->
  				scrape1(ScrapeURL, Id)
  			end, lists:filter(fun(URL) -> is_list(URL) end,
  					  lists:map(fun announce_to_scrape_url/1,
  						    AnnounceList))),
      lists:foldl(fun({ok, Seeders, Leechers, Downloaded}, {ok, S, _L, _D}) when Seeders > S ->
  			{ok, Seeders, Leechers, Downloaded};
  		   ({ok, Seeders, Leechers, Downloaded}, unknown) ->
  