If you want to prevent bots from scraping your content then take advantage of the fact that most bots don't do Javascript: in your server code render the content of each page with some simple encoding that makes text unreadable then add a piece of javascript to window.onload() thats decodes and displays the content.
Agreed.
It's easier to ask forgiveness (or just stop scraping if they complain) than get permission.
Or use a "bot" like this which uses IE under the hood: http://search.cpan.org/dist/Win32-IE-Mechanize/lib/Win32/IE/Mechanize.pm or this one which uses Mozilla under the hood: http://search.cpan.org/~slanning/Mozilla-Mechanize-0.05/lib/Mozilla/Mechanize.pm
They could of course add a robots.txt and stop nicely behaved scrapers that way, but to stop all scraping is impossible. There's always a way. The best you can hope for is to make it so hard, that they don't bother creating a custom made scraper.