Не существует надежного способа поймать всех ботов. Если кто-то этого захочет, бот может вести себя как настоящий браузер.
Большинство серьезных ботов четко идентифицируют себя в строке агента, поэтому с помощью списка известных ботов вы можете выделить большинство из них. В список также можно добавить несколько строк агента, которые по умолчанию используются некоторыми библиотеками HTTP, чтобы ловить ботов от людей, которые даже не знают, как изменить строку агента. Если вы просто регистрируете строки посетителей, вы сможете выбрать те из них, которые нужно сохранить в списке.
Вы также можете сделать «ловушку для плохого бота», разместив на своей странице скрытую ссылку, которая ведет на страницу, отфильтрованную в вашем файле robots.txt. Серьезные боты не следуют по ссылке, и люди не могут щелкнуть по ней, поэтому только бот, который не следует правилам, запрашивает файл.