Вконтакту скорее всего реально. Надо посмотреть, с каким user agent он ходит по сайтам и тупо запрещать его (это первое, что приходит в голову). Для общего случая нет. Ну либо это будет сделано с большим ущербом для юзабилити.
Upd. Вариант для общего случая: определияем ip, потом whois ну или nslookup его и решать - пользователь это или парсер