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: -module(scrape).
  
  -export([init/0, scrape/1]).
  
  
  -define(TTL, 10).
  -define(TIMEOUT, 2).
  -define(SCRAPE_URLs, ["http://81.163.2.20:6969/scrape",
  		      "http://81.163.2.24:6969/scrape",
  		      "http://81.163.2.23:6969/scrape"
  		     ]).
  -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().
  
  %% TODO: unknown
  scrape(Id) ->
      Scrapes = util:pmap(fun(ScrapeURL) ->
  				scrape(ScrapeURL, Id)
  			end, ?SCRAPE_URLs),
      lists:foldl(fun({ok, Seeders, Leechers, Downloaded}, {ok, S, _L, _D}) when Seeders > S ->
  			{ok, Seeders, Leechers, Downloaded};
  		   ({ok, Seeders, Leechers, Downloaded}, unknown) ->
  
negative.code: 			R
  		end, unknown, Scrapes).
  
  announce_to_scrape_url(Bin) when is_binary(Bin) ->
      announce_to_scrape_url(binary_to_list(Bin));
  
  announce_to_scrape_url("http://" ++ URL1) ->
      case lists:splitwith(fun(C) -> C =/= $/ end, URL1) of
  	{HostPart, "/announce" ++ _} ->
  	    "http://" ++ HostPart ++ "/scrape";
  	_ ->
  	    false
      end;
  announce_to_scrape_url(_URL) ->
      false.
      
  
  scrape1(ScrapeURL, Id) ->
      I = self(),
      Now = util:mk_timestamp(),
      UrlId = {ScrapeURL, Id},
  