Hi!
Few remarks on your points:
A crawling bot(or so called 'network spiders' as they are most often referred as) do not hold such properties as Domain, those machines are almost in all cases not Domain controllers but a headless server, so Domain would be irrelevant. These also, if we are speaking of the 'legit' ones - such as those of the established Search engines operating over the Internet, are enterprise level networks(multitude of machines each with multitude of network connections(IP and NIC MAC numbers), and often these are vitualized networks, meaning the physical machines are spread on different locations, so metric such as the 'Country' and ISP derived from IP is irrelevant too, since requests from one and the same bot, even for two consecutive requests, can come from different machine/or IP or both.
In the past I have been setting some blocks in .htaccess to handle such boths, though have never chosen to block the official SE bots, only those that try to impersonate them pretending they ar ethe legit SE, while in reality they are not, but just people clawling your site for their own ends, like easy access of ready content to use for example.
In this regard the successful tactic emerged to be - to identify possible requesters to act against based on the 'User-Agent+IP' pair. This can be turned into a php script to add suspiciously acting requesters to the list more dynamically, instead of manualy, as I have done in the past for myself.
Kind Regards,
Dobri